0

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

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

参数:{"shifts"=>"[{\"start_time\":\"Wed Oct 06 2010 09:30:00 GMT+0100 (BST)\",\"end_time\":\"Wed Oct 06 2010 13 :00:00 GMT+0100 (BST)\",\"active\":true,\"occurrence\":\"weekly\",\"company_id\":\"1\"},{\"start_time \":\"2010 年 10 月 7 日星期四 09:30:00 GMT+0100 (BST)\",\"end_time\":\"2010 年 10 月 7 日星期四 13:00:00 GMT+0100 (BST)\",\ "活动\":true,\"发生\":\"每周\",\"company_id\":\"1\"}]", "id"=>"1"}

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

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

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

4

1 回答 1

0

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

于 2010-10-06T13:05:20.897 回答