私は単純なRailsアプリケーションを持っており、本はbelongs_toユーザーであり、ユーザーはhas_manyの本でした。book モデルでは、user_id フィールドであるユーザー用のフィールドがあり、 current_user メソッドに devise を使用しています。現在、current_user に新しいブックを追加してもらいたいのですが、保護された属性を大量に割り当てられないというエラーが引き続き発生します: アイテム、ユーザー。アイテムがどこから来たのかわかりません。ユーザーをattr_assibleアイテムのリストに含める必要がありますか。問題は、本の所有者をハッキングして変更しようとしないように、本のユーザー属性を大量に扱いたくないということです。私はレール3.2.3を使用しています
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 に答える