問題タブ [strong-parameters]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
5 に答える
5823 参照

ruby-on-rails - params ハッシュをスライスすると、一括割り当てでセキュリティ上の問題が発生するのはなぜですか?

一括代入によるセキュリティ リスクを防ぐ公式の方法は、attr_accessibleを使用することです。ただし、一部のプログラマーは、これはモデルの仕事ではないと感じています (または少なくともモデルの仕事ではありません)。コントローラーでこれを行う最も簡単な方法は、paramsハッシュをスライスすることです。

ただし、ドキュメントには次のように記載されています。

attr_accessible の代わりに Hash#except または Hash#slice を使用して属性をサニタイズしても、十分な保護が得られないことに注意してください。

何故ですか?パラメータのホワイトリストスライスが十分な保護を提供しないのはなぜですか?

更新: Rails 4.0では、パラメーターの洗練されたスライスである strong-parameters が出荷される予定です。

0 投票する
2 に答える
717 参照

ruby-on-rails - MongoidとMassの割り当て

私は次のmogoidドキュメント定義/クラスを持っています:

次に、次のコントローラーと保存方法があります。

これは私には間違っているようで、大量割り当ての問題が発生する可能性があります。

人々は通常これからどのように保護し、強力なパラメータの宝石を使用するのは良い考えですか?

0 投票する
4 に答える
20167 参照

ruby-on-rails - 工夫と強いパラメータ

4.0 で強力なパラメーターが Rails コアに追加される可能性が高いため、この宝石 (デバイス + 強力なパラメーター) の両方を統合する方法を知りたいです。

どんな助けでも大歓迎ですありがとう

0 投票する
0 に答える
1662 参照

ruby-on-rails-3.2 - Rails管理者による強力なパラメータ

strong_parametersを使用するRails3.2アプリを作成しましたが、問題なく動作します。私は次のようにモデルごとにこれを行いました:

私のコントローラーには、paramsハッシュキーなどを許可する適切なコードがあります。

ここで、モデルを管理するためにrails_adminを追加したいのですが、rails_adminコントローラーは強力なパラメーターを使用するように設計されていないため、ActiveModel::ForbiddenAttributes予想どおり、例外が発生します。

だから私の質問は:これを回避する方法はありますか、それともrails_adminをフォークして、自分で追加する必要がありますか?わからない簡単な解決策がある場合は、その余分な作業を避けたいと思います。

ありがとう!

0 投票する
2 に答える
6207 参照

ruby-on-rails - CanCan load_and_authorize_resource は禁止された属性をトリガーします

強力なパラメーターを使用する標準の RESTful コントローラーがあります。

config/initializersはファイルを持っていますstrong_parameters.rb

CanCan'sload_and_authorize_resourceに簡単な呼び出しを追加すると、

テストのどこ@attrで次のように定義されていますか

テストでは、ユーザーにログインし、管理者になるために必要な役割を与えるようにすべてを適切にセットアップしたので、そうではないことがわかりました。これにより ForbiddenAttributes がトリガーされる理由がわかりません。私が見落としていたのは単純なことだと確信しています。他の誰かがこの問題に遭遇し、解決策を見つけましたか?

0 投票する
6 に答える
33060 参照

ruby-on-rails - ActiveAdminを強力なパラメータで動作させる方法は?

更新:この質問は、ActiveAdminにすでに解決策がある前に尋ねられました。Josephが述べているように、ActiveAdminのドキュメントには現在この情報が含まれていますが、ここでの回答は、古いバージョンのActiveAdminを使用しているユーザー向けに提供されています。

Rails3.2.8のActiveAdmin0.5.0でstrong_parameters0.1.4が使用されている場合、使用しているモデルが次のものを含めてStrongParametersを使用している場合。

次に、レコードを作成/編集しようとすると、ログに次のエラーが表示されます。

0 投票する
3 に答える
4942 参照

ruby-on-rails - rails-api と strong_parameters を連携させる

含める場合

私の中で一緒に、のようGemfileに呼んでいますparams.require

呼び出しで次のエラーで失敗しrequire()ます。

バックトレースは、strong_parameters' ActionController::StrongParameters'require()メソッドがヒットしないことを示しています。

0 投票する
2 に答える
9036 参照

ruby-on-rails - Rails 3.2.8 のストロング パラメータ

このビデオでは、コントローラーを介して入ってくる入力を保護しながら、モデルとスペックを介して大量の割り当てを行うことができると述べています。ただし、3.2.8 で strong_parameters を使用する場合、これが機能として文書化されているのを見たことがありません。

私はActiveModel::ForbiddenAttributesProtection自分のモデルに混ぜconfig.active_record.whitelist_attributes = falseconfig/application.rb. attr_accessibleまた、モデルからすべての呼び出しを取得しました。

ミックスインの有無にかかわらず、大量割り当てエラーが発生します。

ActiveModel::MassAssignmentSecurity::Error: Can't mass-assign protected attributes: home_phone, cell_phone

何か不足していますか?

0 投票する
4 に答える
59082 参照

ruby-on-rails - Rails 4強力なパラメーター:すべての属性を許可しますか?

Rails4の強力なパラメーターを使用してWebアプリを構築しています。

管理バックオフィスコントローラーを構築するとき、すべてのモデル属性を許可するための最良の方法は何でしょうか。

今のところ、私はこれを書いた:

もっと良い方法を考えますか?

0 投票する
6 に答える
43592 参照

ruby-on-rails - Rails4.0の強力なパラメータはハッシュを指すキーを持つ属性をネストしました

Rails 4.xベータ版で遊んでいて、ネストされた属性をcarrierwaveで機能させようとしていました。私がしていることが正しい方向であるかどうかはわかりません。周りを検索し、最終的にレールのソースと強力なパラメータを調べた後、以下のメモを見つけました。

https://github.com/rails/rails/blob/master/actionpack/lib/action_controller/metal/strong_parameters.rb

つまり、has内のすべての属性をすべて指定する必要があるということで、私は次のことを試しました。

Paramの例:

コントローラ

上記は「機能」していません(carrierwaveをトリガーしていません)が、私が見つけた標準のネストされた例を使用したときにエラー(許可されていないパラメーター:ファイル名)が発生しなくなりました。

誰かが助けることができればそれは素晴らしいでしょう。ハッシュを指すキーがネストされた例を見つけることができませんでした。