問題タブ [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.
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"]}
これが最善の方法だとは思わないので、ベストプラクティスがあることを期待して、今のところ質問には答えないままにします.
mongoid - Rails 4 および Mongoid 4.0.0 を使用した MongoDB の埋め込みドキュメントでの Strong_parameters の問題
永続化レイヤーに MongoDB を使用して、Rails でブログをセットアップしようとしています。その一環として、私は自分の投稿にコメントを埋め込みたいのですが、そうするたびに ActiveModel::ForbiddenAttributesError の呼び出しに失敗します。これは、Rails の strong_parameters gem と関係があることがわかっています。これが私のコントローラーの外観です
誰かが私が間違っているところを見ることができますか?
devise - Rails 4 と Devise - JSON API によるユーザー登録
JSON 経由でデバイス ユーザーを登録しようとしていますが、取得し続けますActiveModel::ForbiddenAttributesError
これが私のJSONリクエストです:
これは強力なパラメーターと関係があることはわかっていますが、まだ解読できていません。
ruby-on-rails - 再帰的/ツリーのような強力なパラメーター?
Rails 4のツリー構造に任意の深い強力なパラメータを指定する方法はありますか? たとえば、次のように指定するにはどうすればよいですか。
各ノードに名前属性とノード属性を持たせるには?
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にあると思いますが、コントローラーにアクセスしてこれを修正する方法、またはこれが実際に問題がある場所であるかどうかは正確にはわかりません。私はそれが単純なものであることを願っていますが、見落としていました。
誰かがこの問題に遭遇したか、状況に光を当てることができれば、それは大歓迎です.
乾杯。
ruby-on-rails - strong_parametersを使用してパラメータの1つを任意のハッシュにする方法は?
フィールドの 1 つが であるモデルがありますserialise :config, JSON
。
任意のハッシュを値として許可する必要があります。しかし、それを行うためのきれいな方法がまったくわかりませんstrong_parameters
。
私の現在の解決策は次のとおりです。
ruby-on-rails - Railsの強力なパラメータの増分追加
strong_parameters ジェムを使用すると、以下のような属性を段階的に追加できることを知っている人はいますか?
:is_admin
ここでは、現在のユーザーが管理者である場合にパラメーターを許可するようにコードに段階的に要求しています。以前に許可されたパラメーターのリスト (:name
および:email
) に追加するだけでよいのではないでしょうか?