0

给一个像 GroupMembers 这样的 rails 控制器,如果你发布到 update 方法,rails 期望参数是这样的:

[group_member][admin]
[group_member][user_id]

使用backbone.js,当我在视图中设置一个集合然后保存时,集合发布时没有[group_member] 尾随属性,混淆了rails。

知道在使用主干+导轨时如何处理这个问题吗?

谢谢

4

1 回答 1

1

如果您正在使用 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
于 2012-07-04T15:40:20.243 回答