2

現在、アプリケーションをRails2.3.8からRails3.2.7にアップグレード中ですが、一括割り当てで問題が発生しています。
モデルを保存しようとすると、次のエラーが発生します。

Can't mass-assign protected attributes: a,b,c,d

Railsがホワイトリスト属性のデフォルトを次のように設定していることに気づきました。

config.active_record.whitelist_attributes = false

そこで、trueに変更しましたが、エラーが発生し続けました。attr_protectedをいくつかの目的で使用しますが、それらを無視してすべてを保護しているようです。'accepts_nested_attributes_for'を使用したモデルによるものと思いますが、必要です。

'attr_accessible'を使用せずにこの問題を解決する他の方法はありますか?

4

1 に答える 1

1

attr_accessibleまたはattr_protectedを使用するときはいつでも、そのモデルの一括割り当て保護を有効にしています。コメントで述べたように、Webサイトが純粋に内部使用である場合、attr_accessibleを使用せずにこれを解決する唯一の方法は、accepts_nested_attributes_forを使用してモデルまたはアクセスするモデルからattr_protectedを削除することです。

于 2012-08-14T22:32:56.533 に答える