問題タブ [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-3.2 - Rack::Test::UploadedFile を強力なパラメータで許可する方法は?
Rails 3.2 で strong_parameters gem を使用しています。画像のアップロード プロセスをテストするために、次のパラメーターを含む受信投稿リクエストがあります。
画像属性の割り当てを許可するにはどうすればよいですか? 私は試した;
しかし、それは機能せず、言いValidation failed: Image can't be blank
ます。
すべてのパラメータを許可するとparams.require(:photo).permit!
、正常に動作します。
ruby-on-rails - Rails 4/Devise/MongoDB: カスタム プロパティと強力なパラメーターを使用した「許可されていないパラメーター」
ネストされたカスタム属性Profile (Mongoid ドキュメント) をデバイスのUserクラスに追加しようとしています。Devise 登録フォームが送信されると、 Userオブジェクトと対応するProfileオブジェクトの両方が作成されます。
MongoDB で最終結果を次のようにしたいと思います。
ユーザー:
プロフィール:
残念ながら、登録を送信するたびにコンソールにこれが表示されます。ユーザーは正常に作成されますが、関連付けられたプロファイルの作成に失敗します。
私はセットアップしました:
- Rails 4.0.0beta1、Ruby 2.0.0-p0
- Devise (「rails4」ブランチ)、Mongoid (git から)
- 強力なパラメーターの定義を追加するためのカスタム Devise 登録コントローラー。
モデル/user.rb:
モデル/プロファイル.rb:
コントローラー/ユーザー/registrations_controller.rb
ルート.rb
私はすでにこれらの関連記事を見てきましたが、役に立たなかったようです:
編集:
Devise は実際には「rails4」ブランチで強力なパラメーターをサポートしているようです (これは数日で master にマージされる予定です)。コードを調べると、devise コントローラーの各アクションに対して params 関数をオーバーライドできるようです。新しいユーザーを作成する場合、私の例sign_up_params
の代わりに。resource_params
この名前を適切な名前に変更したにもかかわらず、まだ機能しませんでした...この強打を使用してすべてのパラメーターをホワイトリストに登録することだけが機能しているように見えました:
明らかに、この種の強力なパラメーターの目的は無効になります...だから、問題は、ネストされた属性をどのように許可するかですprofile_attributes
(元の質問に見られるように)?
rails-activerecord - paramsハッシュを使用してRails 4.0にレコードを保存します
form_for ヘルパー メソッドを使用して、Rails で新しいレコードを作成しようとしています。フォームを送信すると空白のエラーが発生し続けるため、params ハッシュが空白だと思います。
これは私のフォームです:
これは私の部門のコントローラーです
これはモデルです:
送信すると、full_name を空白にすることはできないというエラーが表示されます (フィールドは空になりました)。デバッグ情報は次のとおりです。
開発ログも確認しました。トランザクションが開始され、その後ロールバックされます。コンソールにレコードを保存できるので、params ハッシュと関係があると推測していますが、わかりません。助けてください
ruby-on-rails - Rails select の許可されていないパラメーター
文字列のリストを含むレコードを追加しようとしています。
モデル:
しかし、ログに次のエラーが表示されます。
私は何を間違っていますか?カテゴリー連載しないのはなぜ?
編集:
このメソッドが非推奨であることがわかりました。Rails 4 を使用しています...代わりに何を使用すればよいですか?
編集2:
これをログに記録します:
しかし、新しいレコードは作成されません (何らかの理由で ROLLBACK)。
serialize :category
モデルから外しました。これは今私のコントローラーにあります:
ruby-on-rails - 属性を必要とする強いパラメータ
強力なパラメーターを使用して、必要に応じてハッシュの単一の属性をマークすることは可能ですか?
次のような入力が与えられた場合:
標準の強力なパラメーターの例は次のとおりです。
params.require(:example).permit(:optional, :required)
特定のパラメーターを要求できることを考えると、次のようにするとうまくいくと思いました。
私が試みた:
そして、私が考えることができる他のもの。
それが可能かどうか誰にもわかりますか?
ruby-on-rails - 混合モデルで表示される Strong_parameters
強力なパラメーターを使用していますが、次のフォームを保存しようとすると、次のメッセージが表示されます。
# '<'VisitsController:0x007fa88deec428'>' の未定義のメソッド `household_params'
世帯コントローラーではなく訪問コントローラーを使用しているため、混乱しています。訪問は、以下に示すように世帯に関連付けられており、次のコードでビューを呼び出します。
フォームは次のとおりです。
このフォームは、世帯に関する情報を表示する 3 行がなくても正常に機能します。
私はstrong_parametersが混乱していると思っています
ruby-on-rails - Rails 3.2.13 と strong_parameters の例外
Rails 3.2.13 と strong_parameters gem をいじっています。ActiveModel::ForbiddenAttributes
開発中のテスト中に例外が発生するかどうかを知りたいですか?
私の投稿モデルには:title
and:content
がありますが、許可から削除する:title
とエラーは発生しませんが、フラッシュ通知で編集ページにリダイレクトされるため、レコードが保存されます。とはいえ、それは当然のことながら を変更しませんでし:title
た。これはデフォルトの動作ですか?
発生した例外を取得するために何か他のことをする必要があるかどうかを知りたかったのです。
Gemfile:
アプリケーション構成:
投稿モデル:
ポストコントローラー: