強力なパラメータを無効にする方法はありますか?Rails 4ではデフォルトでStrong Parametersを無効にします
私はそれがセキュリティ上の脆弱性であることは知っていますが、私は本当にそれを必要としません。
強力なパラメータを無効にする方法はありますか?Rails 4ではデフォルトでStrong Parametersを無効にします
私はそれがセキュリティ上の脆弱性であることは知っていますが、私は本当にそれを必要としません。
「無効」にすると、Rails 3スタイルのattr_accessible
行に戻ってしまうことになります。
protected_attributes gemを使用してください。
私はそうは思わない。
DHHがhere on this pull request to add a disable switch to strong parameters
コメントこのすべてが、とにかくすぐに4.0を皆に強いパラメータを強制的に、あなたはそれをオフにすることはできませんRailsのようレガシーな関心事です。
属性保護をオフにすることは、ほとんど常に悪い考えです。道のうちその義務ノートで
は、ここでそれをオフにする方法は次のとおりです。
config.action_controller.permit_all_parameters = true
プレイスには、このことができます。もちろん、config/application.rb
に!強力なパラメータの公式ドキュメント(https://github.com/rails/strong_parameters)によると、あなたはあなたのconfig/application.rbにコードの下に追加することによって無効にすることができます。
config.active_record.whitelist_attributes = false
それは私が私にこの問題に遭遇したレール3.2
これはprotected_attributesを無効にすることです – brauliobo
に私の作品Stripeのウェブフックのすべてのパラメータを保存しようとしていました。
単一のインスタンスにすべてのパラメータを許可する場合は、initializeメソッドに渡す前にparamsオブジェクトで#to_hashを呼び出すことができます。
例:
@my_object = MyObject.new(params[:my_object].to_hash)
あなたがチェックアウトパッチを適用することができ、あなたのアプリケーションのためにチェックされて禁止された属性を停止する。..
例えば
設定/初期化子に次のコードを入れて/ disable_strong_parameters.rb
module ActiveModel
module ForbiddenAttributesProtection
protected
def sanitize_for_mass_assignment(attributes)
attributes
end
alias :sanitize_forbidden_attributes :sanitize_for_mass_assignment
end
end
これを試してみましたが、うまくいかなかった私(Rails 4.0.0アプリで)。 – Batkins
私のために働いた。合意 - それは一般的に悪い考えですが、私のユースケースは管理者が何かを変更できる管理サイトです。 – Zubin
それは私のために働いた。 Applicationクラス内にこの行を置き、HTTPサーバーを再起動してください。 – Guildenstern70