問題タブ [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 に答える
649 参照

ruby-on-rails - Select2 + Rails 4 / 強力なパラメータ

背景:投稿には多くのコミュニティがあります。私の新しい投稿フォームには、Select2 を使用してコミュニティを選択するための複数選択ボックスがあります。

Select2 を使用せずにコミュニティを選択すると、次のパラメーターが取得され、すべて正常に動作します。

Select2 でコミュニティを選択すると、次のようになります。

これはエラーをスローしCouldn't find Community with id=0ます。強力なパラメータがどのように機能するかに関係するものに絞り込みました。Railsは「[]」のIDを持つコミュニティを見つけようとしていると思いますか? これは私の PostsController にあります:

何か案は?

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

ruby-on-rails-4 - Rails 4、strong_parameters、動的 attr_accessible: 親データベース情報をクラス インスタンスに取得する方法

attr_accessible親アカウントに基づいてユーザー モデルに追加しようとしています。ユーザー クラス インスタンスがまだその親にアクセスできないことはわかっていますが、これを行う方法がわかりません。どんな提案も素晴らしいでしょう。

これが私がstrong_params仕事をしている方法であり、ユーザーモデルで同様のことをしたい(またはもっと良いことをしたい)。

これは今働くものです:

これは私が働きたいものです

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

ruby-on-rails - ブール属性のRails送信ボタン

submitラジオボタンを使用する代わりに、ブール属性を変更するボタンを使用する方法を知りたかったのです。

例として、「公開済み」および「未公開」の記事投稿のリストをページに表示し、モデルPost#indexの :is_published フィールドを true に設定する「公開」というボタンが必要だとします。Post

Rails 3.2.13でstrong_parametersを使用しています

私はPost私が持っているだろうコントローラで考えていました

私のPost#index見解ではform_for<%= f.submit 'Publish', name: publish_button %>

これがビューですPost#index

単純なモデルは次のとおりです

しかし、私はエラーが発生していますRequired parameter missing: post

前もって感謝します。

更新 質問に対応するモデルとビューを追加しました。お役に立てば幸いです。

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

ruby-on-rails - rails 4つの強力なパラメータ+動的hstoreキー

Hstore と動的アクセサーを使用して、Rails 4 の新しい強力なパラメーター要件を克服するのに問題があります。

:content複数の言語でコンテンツを保存するために使用したいHstore という名前の列が:en, :frあります。

Rails 4で1つの列に対して強力なパラメータをオーバーライドする(または動的なhstoreキーを許可する)にはどうすればよいですか?

短い...

もちろん機能します。

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

ruby-on-rails-4 - Rails 4 の強力なパラメーター - 欠落しているモデル パラメーター ハッシュの処理

モデル: 投稿とユーザー

投稿の所属先 :user
ユーザー has_many :posts

単純。

少数のユーザーが存在すると仮定して、投稿の編集ページにアクセスします。

...

...

Post のコントローラーは、Rails 4 の強力なパラメーターを利用します。

編集投稿フォームには、フィールドとしてラジオ ボタンのみがあると仮定します。

問題: ActionController::ParameterMissing 例外がスローされます。パラメータが見つかりません: 投稿

Post params ハッシュが作成されないため、上記の例外がスローされます。たとえば、空のテキスト フィールドとは異なり、空のラジオ ボタンは、モデルのパラメーター ハッシュの作成をトリガーしません。

Post モデルで user_id が有効である必要がある場合はどうなりますか? 確かに、投稿を保存できない理由でビューを再度レンダリングしたいと思うでしょう。

質問: Rails の慣習に従いながら、この状況を処理するエレガントな方法は何ですか?

アップデート:

これについてさらにブレインストーミングすると、この問題を引き起こす状況は他にもたくさんあると思います。必ずしもラジオ ボタンに対応しているわけではありません。

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

activerecord - has_many :through アソシエーションでRails 4の強力なパラメータを使用するには?

Rails 4 の強力なパラメーターを使用して has_many :through 関連付けを取得するのに問題があります。というモデルがあり、新しいチェックアウト フォームでモデルCheckoutから人を選択する必要があります。チェックアウトと従業員は、モデルEmployeeを通じて関連付けられています。Employment

新しいチェックアウトを作成しようとすると、次のエラーが発生します。

作成アクション、チェックアウト パラメータ、または新しいチェックアウト フォームのいずれかに問題があるようです。作成アクションは次のとおりです。

私のチェックアウトパラメータ:

私の新しいチェックアウトフォーム:

しかし、Rails 4 と強力なパラメーターで何が変わったのかわかりません。Rails 3 では、このタイプの関連付けとフォームは、strong_parameters の代わりに attr_accessible を使用して機能しました。

関連ファイル

エラーの完全なトレース: https://gist.github.com/leemcalilly/0cb9e2b539f9e1925a3d

models/checkout.rb: https://gist.github.com/leemcalilly/012d6eae6b207beb147a

controllers/checkouts_controller.rb: https://gist.github.com/leemcalilly/a47466504b7783b31773

views/checkouts/_form.html.erb https://gist.github.com/leemcalilly/ce0b4049b23e3d431f55

models/employee.rb: https://gist.github.com/leemcalilly/46150bee3e6216fa29d1

controllers/employees_controller.rb: https://gist.github.com/leemcalilly/04f3acdac0c9a678bca8

models/employment.rb: https://gist.github.com/leemcalilly/6adad966dd48cb9d1b39

デシベル/schema.rb: https://gist.github.com/leemcalilly/36be318c677bad75b211

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

ruby-on-rails - Rails の以前のバージョンで attr_accessible を使用した場合に、Rails 4 で禁止された属性エラーが発生する

Rails 4 への最近のアップグレードでは、以下に似たコードを使用して属性を更新しても機能せず、ActiveModel::ForbiddenAttributesエラーが発生します。

ユーザーがモデルに次の attr_accessible 行を持っている場所:

Rails 4 で同じタスクをどのように達成しますか?