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

ruby-on-rails - Rails と Devise による強力なパラメーター

ruby 2.0.0p0 および Rails 4.0.0.beta1 とともに、devise の rails 4.0 ブランチを使用しています。

これは、私が正しい方法で行っているかどうか、または他にすべきことがあるかどうかを確認するような質問です。Rails 4.0 に移行する多くの人が同じ問題に直面していると思います (似たようなことをグーグル検索した後)。

次のリンクを読みました。

devise を使用してユーザー モデルを作成し、上記の要点を使用して次のコントローラーを作成しました (ルート ファイルに含めるようにしました)。私の追加のパラメータは、first_name と last_name です。

他にすべきことはありますか?これが今後の最善の方法ですか (attr_accessor を削除してから)。私のフォームは正常に動作しているようです (新規と更新の両方)。要点は「resource_params」を使用すると言っていましたが、サーバーログに常に「許可されていないパラメーター」エラーが発生しました。

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

ruby-on-rails-4 - Rails 4の強力なパラメータエラー:シンボルから文字列への暗黙的な変換はありません

スプレッドシートからアプリ データベースにデータをインポートしています。

データは行ごとに解析されます。解析された各行は次のようになります。

部門を作成するには:

しかし、エラーが発生しました:

を指す

どうすれば修正できますか?ありがとう!

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

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」と「色: 赤」を入力すると、例外は発生しません。新しい製品は色なしで正しい名前でデータベースに保存されます。

私は何を間違っていますか?

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

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 メソッドです

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

ruby-on-rails - Rails 4 の strong_parameters gem およびカスタム デバイス ルート

Rails 4 にアップグレードし、strong_parameters ルートに進みました。問題は、Devise で使用している顧客登録コントローラーを指す次のエラーをスローしていることです。

6 行目はメソッドbuild_resourceから呼び出されておりcreate、build_resource はストック スタンダードです。

扱っているモデルは ですUser。許可されたパラメーター クラスを作成する Ryan Bates のアプローチを試しました。

登録コントローラーでこれを処理する方法がわかりません。

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

ruby-on-rails - RSpec - 強力なパラメータのテスト

コントローラーで宝石を使用していstrong_parametersますが、それをテストする方法を理解するのに苦労しています。

これが私のセットアップの例です

メソッドをテストして、悪意のあるキーと値のペアが正しくフィルター処理されていることを確認したいのですが、そのuser_params方法がわかりません。他の誰かがこれを経験しましたか?

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

ruby-on-rails - Rails 4: request.format を設定しても params[:format] が更新されない

Rails 3 では、同じオブジェクトparamsを参照します。request.parameters

Rails 4 での強力なパラメーターの追加により、は から作成されparamsた の個別のインスタンスを参照するようになりました。ActionController::Parametersrequest.parameters

これの副作用は、一度呼び出すとparams(それによって個別のParametersオブジェクトが作成される)、呼び出しrequest.format=が更新されないことparamsです。

レール 3:

レール 4:

これは技術的にはバグではありません。これは、クライアント コードがこの情報の真のソースとして参照するrequest.formatのではなく、簡単に参照できるためですparams[:format](両方を同じ意味で使用できるとは期待できません)。

しかし、それは私にはデザインの回帰のように感じます. 「例外を除いて」同じparamsrequest.parametersあることは、現在、私たちにバグを引き起こしています。将来、多くの開発者にバグを引き起こすと予想しています。

私は間違っていますか?もしそうなら、なぜこれが本当に問題にならないのですか?このパスにたどり着いたユースケースは、format= のドキュメントからの正確なものであることに注意してください。