【问题标题】:rails hash to javascriptjson list of parameters not?rails hash to javascript json参数列表不?
【发布时间】:2015-12-07 07:46:54
【问题描述】:

我正在尝试从 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 作为 Hash 数组接收:

  @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

如何发送正确的数组?

【问题讨论】:

    标签: javascript arrays ruby-on-rails-4 hash datatables


    【解决方案1】:

    我在这里遗漏了一些上下文,但这里是:

    @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\"}]"
    

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

    【讨论】:

    • 没关系......你的回答让我走上了正确的道路......我现在可以睡觉了,享受一个凉爽的夜晚
    猜你喜欢
    • 1970-01-01
    • 2019-07-15
    • 2016-08-08
    • 2011-10-26
    • 2015-07-19
    • 2011-05-14
    • 1970-01-01
    • 2012-02-10
    • 1970-01-01
    相关资源
    最近更新 更多