rails hash to javascriptjson参数列表不行?

rails hash to javascriptjson list of parameters not?

我正在尝试从 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

t 作为哈希数组接收:

  @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 将 return 您的 collection 作为 JSON。这应该适合 return 到请求客户端。这是 JSON:

的输出
"[{\"data\":\"Table\"},{\"data\":\"Owner\"},{\"data\":\"Statu\"},{\"data\":\"Origine\"},{\"data\":\"Source\"},{\"data\":\"Updated At\"}]"

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