我目前正在开发使用 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 没有像您期望的那样对哈希值进行编码的任何建议。