問題タブ [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 と Devise による強力なパラメーター
ruby 2.0.0p0 および Rails 4.0.0.beta1 とともに、devise の rails 4.0 ブランチを使用しています。
これは、私が正しい方法で行っているかどうか、または他にすべきことがあるかどうかを確認するような質問です。Rails 4.0 に移行する多くの人が同じ問題に直面していると思います (似たようなことをグーグル検索した後)。
次のリンクを読みました。
- 工夫と強いパラメータ
- https://gist.github.com/kazpsp/3350730
- https://github.com/plataformatec/devise/tree/rails4#strong-parameters
devise を使用してユーザー モデルを作成し、上記の要点を使用して次のコントローラーを作成しました (ルート ファイルに含めるようにしました)。私の追加のパラメータは、first_name と last_name です。
他にすべきことはありますか?これが今後の最善の方法ですか (attr_accessor を削除してから)。私のフォームは正常に動作しているようです (新規と更新の両方)。要点は「resource_params」を使用すると言っていましたが、サーバーログに常に「許可されていないパラメーター」エラーが発生しました。
ruby-on-rails-4 - Rails 4の強力なパラメータエラー:シンボルから文字列への暗黙的な変換はありません
スプレッドシートからアプリ データベースにデータをインポートしています。
データは行ごとに解析されます。解析された各行は次のようになります。
部門を作成するには:
しかし、エラーが発生しました:
を指す
どうすれば修正できますか?ありがとう!
ruby-on-rails - Strong_parameters が機能しない
Ruby 1.9.3、Rails 3.2.13、Strong_parameters 0.2.1 の場合:
チュートリアルとレールキャストのすべての指示に従いましたが、strong_parameters が機能しません。それは本当に単純なもののはずですが、エラーがどこにあるのかわかりません。
config/initializers/strong_parameters.rb:
config/application.rb
アプリ/モデル/product.rb
app/controllers/products_controller.rb:
これにより、予想どおり、禁止された属性の例外が発生します。しかし、次の場所に移動すると:
次に、フォームに移動して「名前: 製品 1」と「色: 赤」を入力すると、例外は発生しません。新しい製品は色なしで正しい名前でデータベースに保存されます。
私は何を間違っていますか?
ruby-on-rails - 強いパラメータを持つ配列を許可する方法
私は has_many :through アソシエーションを使用する機能している Rails 3 アプリを持っていますが、Rails 4 アプリとして作り直して、Rails 4 バージョンで関連付けられたモデルから ID を保存できるようにしています。
これらの 3 つの関連モデルは、2 つのバージョンで同じです。
分類.rb
Question.rb
カテゴリー.rb
両方のアプリで、カテゴリ ID は次のように作成アクションに渡されます。
Rails 3 アプリでは、新しい質問を作成すると、質問テーブルに挿入され、次にカテゴリ テーブルに挿入されます。
Rails 4 アプリでは、QuestionController#create のパラメーターを処理した後、サーバー ログにこのエラーが記録されます。
質問は質問テーブルに挿入されるだけです
質問モデルにcategory_idsを保存していませんが、questions_controllerで許可されたパラメーターとしてcategory_idsを設定しました
category_ids を保存する方法を誰か説明できますか? どちらのアプリでも、categories_controller.rb に create アクションがないことに注意してください。
これらは、両方のアプリで同じ 3 つのテーブルです
アップデート
これは、Rails 3 アプリの作成アクションです。
これは、Rails 4 アプリの作成アクションです。
これは question_params メソッドです
ruby-on-rails - Rails 4 の strong_parameters gem およびカスタム デバイス ルート
Rails 4 にアップグレードし、strong_parameters ルートに進みました。問題は、Devise で使用している顧客登録コントローラーを指す次のエラーをスローしていることです。
6 行目はメソッドbuild_resource
から呼び出されておりcreate
、build_resource はストック スタンダードです。
扱っているモデルは ですUser
。許可されたパラメーター クラスを作成する Ryan Bates のアプローチを試しました。
登録コントローラーでこれを処理する方法がわかりません。
ruby-on-rails - RSpec - 強力なパラメータのテスト
コントローラーで宝石を使用していstrong_parameters
ますが、それをテストする方法を理解するのに苦労しています。
これが私のセットアップの例です
メソッドをテストして、悪意のあるキーと値のペアが正しくフィルター処理されていることを確認したいのですが、そのuser_params
方法がわかりません。他の誰かがこれを経験しましたか?
ruby-on-rails - Rails 4: request.format を設定しても params[:format] が更新されない
Rails 3 では、同じオブジェクトparams
を参照します。request.parameters
Rails 4 での強力なパラメーターの追加により、は から作成されparams
た の個別のインスタンスを参照するようになりました。ActionController::Parameters
request.parameters
これの副作用は、一度呼び出すとparams
(それによって個別のParameters
オブジェクトが作成される)、呼び出しrequest.format=
が更新されないことparams
です。
レール 3:
レール 4:
これは技術的にはバグではありません。これは、クライアント コードがこの情報の真のソースとして参照するrequest.format
のではなく、簡単に参照できるためですparams[:format]
(両方を同じ意味で使用できるとは期待できません)。
しかし、それは私にはデザインの回帰のように感じます. 「例外を除いて」同じparams
でrequest.parameters
あることは、現在、私たちにバグを引き起こしています。将来、多くの開発者にバグを引き起こすと予想しています。
私は間違っていますか?もしそうなら、なぜこれが本当に問題にならないのですか?このパスにたどり着いたユースケースは、format= のドキュメントからの正確なものであることに注意してください。