Rails哈希到javascriptjson的参数列表不是

rails hash to javascriptjson list of parameters not?

本文关键字:列表 参数 哈希 javascriptjson Rails      更新时间:2023-09-26

我正在尝试从Rails控制器发送参数列表作为ajax调用的json响应。

def build_json_data
  columns_array = []
  for heading in @headings do
    columns_array << { data: heading[:value]}.with_indifferent_access
  end
  @data = {columns: columns_array}.with_indifferent_access
end

作为哈希数组接收到

  @data[:columns] = [
     {"data"=>"Table"},
     {"data"=>"Owner"},
     {"data"=>"Statu"},
     {"data"=>"Origine"},
     {"data"=>"Source"},
     {"data"=>"Updated At"}
     ]

我想把它变成:

  @data[:columns] = [
     {"data": "Table"},
     {"data": "Owner"},
     {"data": "Statu"},
     {"data": "Origine"},
     {"data": "Source"},
     {"data": "Updated At"}
     ]
     # this is what DataTables jQuery plugin wants a an array of column header

如何发送正确的数组

我这里漏掉了一点上下文,但是下面是:

@headings = [
  { value: "Table" },
  { value: "Owner" },
  { value: "Statu" },
  { value: "Origine" },
  { value: "Source" },
  { value: "Updated At" }
]
def build_json_data
  @headings.map { |heading| { data: heading[:value] } }.to_json
end

在本例中,build_json_data将以JSON形式返回您的集合。这应该适合返回给请求客户机。以下是JSON格式的输出:

"[{'"data'":'"Table'"},{'"data'":'"Owner'"},{'"data'":'"Statu'"},{'"data'":'"Origine'"},{'"data'":'"Source'"},{'"data'":'"Updated At'"}]"

如果我遗漏了什么,请分享更多关于你正在做的事情的背景,我很乐意提供帮助。