新しいRailsプロジェクトでは、大量割り当てが本番環境で厳密に設定されていない理由と、開発とテストで厳密に設定されている理由は何ですか?
1 に答える
4
あなたはこの行を意味します、私は仮定します:
# Raise exception on mass assignment protection for Active Record models
config.active_record.mass_assignment_sanitizer = :strict
これは、一括割り当て保護自体を設定しません。環境に関係なく、デフォルトで保護されます。コメントが示唆しているように、それが行うことは、大量代入エラーで例外を発生させるように Rails に指示することであり、これは開発とテストに役立ちます。本番環境では、それらは単純に無視されます。
のドキュメントからattr_protected
:
これらの属性への一括代入は単純に無視されます。それらに代入するには、直接書き込みメソッドを使用できます。これは、URL やフォームを改ざんする悪意のあるユーザーによって機密属性が上書きされるのを防ぐためのものです。
于 2012-11-06T19:12:12.347 に答える