【发布时间】: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