给一个像 GroupMembers 这样的 rails 控制器,如果你发布到 update 方法,rails 期望参数是这样的:
[group_member][admin]
[group_member][user_id]
使用backbone.js,当我在视图中设置一个集合然后保存时,集合发布时没有[group_member] 尾随属性,混淆了rails。
知道在使用主干+导轨时如何处理这个问题吗?
谢谢
给一个像 GroupMembers 这样的 rails 控制器,如果你发布到 update 方法,rails 期望参数是这样的:
[group_member][admin]
[group_member][user_id]
使用backbone.js,当我在视图中设置一个集合然后保存时,集合发布时没有[group_member] 尾随属性,混淆了rails。
知道在使用主干+导轨时如何处理这个问题吗?
谢谢
如果您正在使用 rails > 3.1,您可以通过设置轻松完成此操作
# in config/initializers/wrap_parameters.rb
ActiveSupport.on_load(:action_controller) do
wrap_parameters format: [:json]
end
所以传入的 group_member 作为 {:admin => true, :user_id => 42} 发送到控制器将被转换为 {:group_member => {:admin => true, :user_id => 42}}更多细节见rails_api .
反之亦然(参见 rails_api):
# in config/initializers/wrap_parameters.rb
ActiveSupport.on_load(:active_record) do
self.include_root_in_json = false
end