【问题标题】:Rails not encoding nested data from POSTRails 不编码来自 POST 的嵌套数据
【发布时间】:2011-04-21 19:08:13
【问题描述】:

我目前正在开发使用 jQuery 的 rails3 应用程序。我有一个 javascript 插件,它根据用户所做的选择返回一组 JSON 数据。我有一个保存按钮,它从 java 脚本插件中读取此数据数组并将其发送回要保存的 rails 应用程序。 javascript 似乎正在工作,它会进行正确的 ajax 调用并将数据发送回 rails 应用程序。问题似乎是 Rails 对已 PUT 回服务器的数据进行编码的方式。

问题是我试图回发到 rails 应用程序的嵌套数据。我有一系列班次似乎被视为一个长字符串,而不是我期望的值的散列。这是数据轨的输出。

参数: {"班次"=>"[{\"start_time\":\"10 月星期三 格林威治标准时间 06 2010 09:30:00+0100 (BST)\",\"end_time\":\"2010 年 10 月 6 日星期三 格林威治标准时间+0100 13:00:00 (BST)\",\"active\":true,\"occurrence\":\"weekly\",\"company_id\":\"1\"},{\"start_time\":\"Thu 2010 年 10 月 7 日 09:30:00 GMT+0100 (BST)\",\"end_time\":\"2010 年 10 月 7 日星期四 格林威治标准时间+0100 13:00:00 (BST)\",\"active\":true,\"occurrence\":\"weekly\",\"company_id\":\"1\"}]", "id"=>"1"}

我希望能够在我的控制器中使用以下代码

params[:shifts].each do |shift|
  puts shift.inspect # would expect a hash of values here
end

但是,只有一个字符串,而不是值的散列。关于为什么 rails 没有像您期望的那样对哈希值进行编码的任何建议。

【问题讨论】:

    标签: jquery ruby-on-rails post hash put


    【解决方案1】:

    我相信您需要先将其解析为 JSON。 “需要 'json'” 在控制器顶部然后尝试 JSON.parse(params[:shift]).each {|shift| shift.inspect} .

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-04-16
      • 1970-01-01
      • 1970-01-01
      • 2019-05-06
      相关资源
      最近更新 更多