は、どのように私は、次の例のようにオブジェクトに渡さPARAMS除外(または明示的に含める)ことができます。paramsを制限する方法Railsはオブジェクトに渡されますか?
def create
@something = Something.new(params[:something])
...
@something.save
end
セイ例something
のために許可されている一般ユーザー(スルー設定可能であるべきではないフィールドtrust_level
を持っていましたオブジェクトを作成します)。提供されたフォームにHTTPが含まれていなくても、このフィールドをHTTP経由で送信するのは簡単です。では、このフィールドがnew
(またはupdate_attributes
)メソッドに渡されるのを防ぐ方法はありますか?
あなたがいうだけで大量の割り当てから特定のフィールドを除外したい場合はホワイトリストは、ブラックリストよりも安全ですが、あなたはまた 'attr_protected'クラスのメソッドを使用することができます。 –
うん、良い点、もし避けるべきことがほんの少しあれば。 –