1

ActiveRecord使用葡萄从 json创建新的正确方法是什么?我是否attr_accessible在我的用户模型中使用以避免ActiveModel::ForbiddenAttributesError或它是如何工作的?

我正在使用 Rails 4.0.4 和 ruby​​ 1.9.3p545。

模型

class User < ActiveRecord::Base
  #maybe attr_accessible??
end

帖子正文

{
  "first_name": "John",
  "last_name": "Doe"
}

葡萄

version :v1, :format => :json
...
post do
  #what goes here?
  user = User.new params
  user.save!
end
4

1 回答 1

3

推荐的方法是不使用批量分配,而是逐步分配每个参数。就像在Grape README示例中所做的那样。

如果您对使用批量赋值有强烈的感觉,您可以使用protected_attributes gem来获取 attr_accessible 功能。

但是,如果您有这么多参数以至于您很想使用批量分配,那可能是您需要重构正在创建的资源的味道。

于 2014-04-09T20:57:52.563 回答