0

我有一个简单的 Rails 应用程序是 book belongs_to user 和 user has_many book。在书本模型中,我有一个用户字段,即 user_id 字段,我将设计用于我的 current_user 方法。现在我希望 current_user 添加一个新的 bood,但我不断收到错误无法批量分配受保护的属性:item,user。我不知道该项目来自何处,我是否必须将用户包含在 attr_assible 项目列表中。问题是我不希望书中的用户属性被大量使用,因此人们不只是试图破解和更改书的所有者。我正在使用导轨 3.2.3

4

2 回答 2

1

将此添加到书籍模型中:

attr_accessible :user_id

或者试试这个:

@book = Book.new
@book.user_id = current_user.id
@book.save 

另见:

http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html

于 2012-06-25T13:56:38.283 回答
0

无论你在哪里构建这本书,你都需要这样做:

current_user.new { :item => item }

为此,该item属性应启用批量分配。

于 2012-06-25T13:56:54.117 回答