問題タブ [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.
devise - Devise と Rails 4 を使用する場合のカスタム パラメータへのアクセス
teamtreehouse チュートリアルを使用してレールを学習しています。チュートリアルでは 3.1 を使用していますが、私は 4.0 を学習しようとしています。その結果、Rails 4 が強力なパラメーターを使用するため、おそらく困難に遭遇しました。ユーザー モデルとステータス モデルの 2 つのモデルがあります。ユーザーの認証を作成するためにdeviseを使用し、新しいパラメーターを含めました。:first_name、:last_name、:profile_name です。ユーザーとステータスの関係を作成しました。
現在、新しいパラメーターを使用したユーザー サインアップが機能しています。たとえば current_user.last_name を使用してそれらにアクセスできます。ただし、ステータスのインデックス ビューに投稿を作成したユーザーの profile_name を表示したい (各ユーザーにはまだ個別のページがありません)。を使用してこれを行いたい
ただし、空白で表示されます。status.user.email (事前に構成されたデバイス パラメータ) を実行すると、問題は発生しません。一部のコントローラーでこれらのパラメーターをホワイトリストに登録する必要があると推測していますが、どこでどのように行うのかわかりません。ありがとう
ruby-on-rails - Rails 4.0 と Devise。ネストされた属性 許可されていないパラメーター
私はDeviseとRails 4を使用してWebアプリに取り組んでいます.2つの追加フォームフィールドで拡張したUserモデルがあり、ユーザーがサインアップするときに姓/名も送信できるようになっています。( http://blog.12spokes.com/web-design-development/adding-custom-fields-to-your-devise-user-model-in-rails-4/に基づく)。機関モデルを追加したいと思います。このモデルには多くのユーザーがいて、ユーザーは機関に所属しています。ユーザーを登録するのと同じフォームに機関の名前を登録できるようにしたいです。自分の機関にnested_attributeが必要なのはわかっていますこれは親であるため、後で少し説明します。ユーザーにサインアップしようとすると、コンソールにUnpermited parameters: Institutionsが表示されます。
私のヒントは、子クラス (ユーザー) に基づいて親クラス (機関) を更新できないことです。これに対する解決策はありますか?または、似たようなことを経験した人はいますか?
registrations/new.html.erbここにネストされたフォームがあります
以前にリンクしたチュートリアルに基づいて、 Devise::ParameterSanitizerから継承する新しいUser::ParameterSanitizerを作成し、次のようにメソッドをオーバーライドしました。sign_up
lib/user_sanitizer.rb
最後に、私のapplication_controller.rb
読んでくれてありがとう!
コンソール パラメータの出力:
編集
提案どおり、追加しました
しかし、再編集すると
構文エラーは発生しませんが、許可されていないパラメーター: 機関がリクエストに含まれています。
これは、User が Institution の子であるために発生すると私は信じています。ただし、これを回避する方法を見つけることができませんでした。
ruby-on-rails - 強いパラメーターは、ネストされた属性のすべての属性を許可します
nested_attributes モデルのすべての属性を許可する強力なパラメーターの方法はありますか? これがサンプルコードです。
レバーの強いパラメータについては、現在これを書いています
andのような属性名を明示的に指定せずに、すべての属性を許可するように記述できるネストされた属性の方法はありますか?lever_id
explanation
注:この質問と混同しないでくださいpermit!
またはpermit(:all)
これは、ネストされた属性のすべてを許可するためのものです
ruby-on-rails - Rails 4配列の許可されていないパラメーター
モデルに配列フィールドがあり、それを更新しようとしています。
私の強力なパラメータメソッドは以下です
私のコントローラーでの私のアクションは次のとおりです
ただし、投稿の更新を送信するたびに、開発ログに表示されます
渡されるパラメータは
categories
他のすべてがうまく見えるので、属性が配列であるという事実と関係があると思いたいです。繰り返しますが、私は間違っている可能性があります。では、私のコードの何が問題なのですか?なぜ明らかに許可されているのに、カテゴリ フィールドを保存できないのでしょうか? ありがとう。
ruby-on-rails - 配列を受け入れない強力なパラメータ
複数選択チェックボックスであるビューにこれがあります
モデル
見る
このための強力なパラメーターは次のように記述されます
しかし、作成時にそれは言う
フォームから来る role_ids の配列を受け入れないのはなぜですか?
ruby-on-rails - Rails JSON のネストされた属性
私はRails 4 APIに取り組んでおり、クライアントがデータをコントローラーに投稿でき、データベースに保存されます。ネストされた JSON を POST するようにユーザーを実装し、コントローラーに属性を受け入れて、それらを使用してモデルを作成する方法を考えていました。JSONは次のようになります
次に、私が持っているプライベートメソッドで
そして、コントローラーの「名前」パラメーターにアクセスしようとすると、parameters[:identifier][:name]
未定義のメソッド [] が表示されます。助言がありますか?
アクションを作成
写真モデルのみt.string :name
ruby-on-rails - Rails 4 へのアップグレード時に一括割り当てが失敗する
メッセージの内容を試して、に追加gem 'strong_parameters'
しましたGemfile
。
しかし、私がそうrails s
すると、上記のエラーが発生します。
アップデート
私は試した:
in confgi/application.rb
、 with もありfalse
ますが、実際にはそのオプションがわかりません。