問題タブ [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 投票する
1 に答える
3001 参照

ruby-on-rails - Rails 4 JSON を使用した強力なパラメーター has_many

クライアント側でjsonを渡し、レールにオブジェクトの作成を処理させようとしています。

ここに私のモデルがあります:

コントローラ

json データ:

JavaScript

最後に、エラー ログ:

明らかに、私の json が台無しになっているか、ruby .permit が間違っています。しかし、私はこれのバリエーションでしばらく遊んでいましたが、うまくいきません。公式ドキュメントはこれに挑戦していないようで、ここで見つけたすべての例はフォームを扱っています。

何が起こっているのか誰にも分かりますか?このアプローチを試すのは私が最初ではありません。


アップデート:

次の変更を加えて回避しました。

json:{"order":{"comments":"none","menu_session_id":"9"},"order_items":["5","5"]}

これが最善の方法だとは思わないので、ベストプラクティスがあることを期待して、今のところ質問には答えないままにします.

0 投票する
1 に答える
680 参照

mongoid - Rails 4 および Mongoid 4.0.0 を使用した MongoDB の埋め込みドキュメントでの Strong_parameters の問題

永続化レイヤーに MongoDB を使用して、Rails でブログをセットアップしようとしています。その一環として、私は自分の投稿にコメントを埋め込みたいのですが、そうするたびに ActiveModel::ForbiddenAttributesError の呼び出しに失敗します。これは、Rails の strong_parameters gem と関係があることがわかっています。これが私のコントローラーの外観です

誰かが私が間違っているところを見ることができますか?

0 投票する
1 に答える
8315 参照

devise - Rails 4 と Devise - JSON API によるユーザー登録

JSON 経由でデバイス ユーザーを登録しようとしていますが、取得し続けますActiveModel::ForbiddenAttributesError

これが私のJSONリクエストです:

これは強力なパラメーターと関係があることはわかっていますが、まだ解読できていません。

0 投票する
1 に答える
737 参照

devise - Rails 4 で 3.0.0rc カスタム属性と強力なパラメーターを考案する

このソリューションをベースに使用して、 Devisedevise_parameter_sanitizer (ユーザー) モデルにいくつかのカスタム属性を設定し、sign_up および編集フォームでそれらを使用できるようにしました。

すべてが正常に動作しますが、特にサインイン、サインアウト、またはユーザーの編集時に (問題がセッションに関連していると思われます)、時々 (かなり頻繁に発生します)、次のエラーが発生します。

パラメータサニタイザーを開発する

この問題を提示するために上記のコードに追加できるロジックはありますか?

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

ruby-on-rails - 再帰的/ツリーのような強力なパラメーター?

Rails 4のツリー構造に任意の深い強力なパラメータを指定する方法はありますか? たとえば、次のように指定するにはどうすればよいですか。

各ノードに名前属性とノード属性を持たせるには?

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

ruby-on-rails - Rails 4 & Devise - 新規ユーザーの作成時にユーザー名がデータベースに追加されない

私は Ruby on Rails 環境に不慣れで、ほとんどの問題を解決できましたが、まだこの問題の解決策を見つけることができませんでした。

コンテキストを提供するには:

  • レールの使用 (4.0.0)
  • ワーデンの使用 (1.2.3)
  • デバイスの使用 (3.0.0)
  • ローリファイの使用 (3.2.0)
  • cancan の使用 (1.6.10)

私の問題

Deviseの登録で新しいユーザーをサインアップしたとき。:name フィールドがデータベースに追加されていません。サーバー出力を参照

ユーザーモデル(app/models/user.rb)

:name は attr_accessible に含まれます。

ユーザーコントローラー(app/controllers/users_controller.rb)。

Rails 4 を維持するために params ホワイトリストを追加しましたが、これで問題は解決しませんでした。

Devise の新しい登録ビュー(app/views/devise/registrations/new.html.erb)

アプリケーションコントローラー(app/controllers/application_controller.rb)

私は強力なパラメーターに関する指示に従い、Deviseからの怠惰な男のアプローチを含めました。

新しいユーザーを作成するときのサーバー出力。

私の結論

結局のところ、問題はDeviseのregistration_controllerにあると思いますが、コントローラーにアクセスしてこれを修正する方法、またはこれが実際に問題がある場所であるかどうかは正確にはわかりません。私はそれが単純なものであることを願っていますが、見落としていました。

誰かがこの問題に遭遇したか、状況に光を当てることができれば、それは大歓迎です.

乾杯。

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

ruby-on-rails - strong_parametersを使用してパラメータの1つを任意のハッシュにする方法は?

フィールドの 1 つが であるモデルがありますserialise :config, JSON

任意のハッシュを値として許可する必要があります。しかし、それを行うためのきれいな方法がまったくわかりませんstrong_parameters

私の現在の解決策は次のとおりです。

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

ruby-on-rails - Railsの強力なパラメータの増分追加

strong_parameters ジェムを使用すると、以下のような属性を段階的に追加できることを知っている人はいますか?

:is_adminここでは、現在のユーザーが管理者である場合にパラメーターを許可するようにコードに段階的に要求しています。以前に許可されたパラメーターのリスト (:nameおよび:email) に追加するだけでよいのではないでしょうか?