0

Rails のドキュメンテーションはこれをあまり明確にしていませんが、update_attributes のすべての使用は一括割り当てを構成し、attr_accessible を使用する場合はすべての属性をホワイトリストに登録する必要があるようです。update_attributes のドキュメントでは、これについては言及されていません。

update_attributes(attributes)

渡されたハッシュのすべての属性でこのリソースを更新し、レコードを保存するように要求します。

接続エラーまたはリモート サービス エラーが原因で保存に失敗した場合は、例外が発生します。リソースが無効なために保存に失敗した場合は、false が返されます。

注: この要求は、リソースの属性の一部のセットを使用して行うことができますが、要求の本文全体が保存要求でリモート サービスに送信されます。

この大量割り当ての制限をトリガーする、知っておくべき他の方法はありますか?

4

2 に答える 2

1

ここをご覧ください:http://api.rubyonrails.org/classes/ActiveModel/MassAssignmentSecurity/ClassMethods.html

そして、この非常に古くて非常に短いrailscastを見てくださいhttp://railscasts.com/episodes/26-hackers-love-mass-assignment

これは、「大量割り当て」トピックで大いに役立ちます:)

于 2011-09-15T15:44:59.043 に答える
0

一括代入を使用する場合、attr_accessible を使用して更新できる属性を定義するか、attr_protected を使用して更新してはならない属性を定義する必要があります。

一括割り当ての詳細については、 https ://stackoverflow.com/questions/tagged/mass-assignment をご覧ください。

于 2011-09-15T17:51:54.057 に答える