問題タブ [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 - Rails4の強力なパラメーター-更新時にスタックレベルが深すぎます
Rails 4で遊んでいて、強力なパラメーターでレコードを更新する際に問題が発生しました。「スタックレベルが深すぎます」というエラーが発生し続けます。has_onemeta_dataの投稿レコードを更新しようとしています。
post.rb
posts_controller.rb
新しいレコードの作成は問題なく機能し、関連するmeta_dataレコードを保存します。更新すると、スタックレベルが深すぎるというエラーが発生します。{:meta_data_attributes => [:title, :description, :keywords, :menu_name]}
許可されたパラメータからを削除すると、保存は問題なく機能します
どんな助けでも素晴らしいでしょう、事前にありがとう!
ruby-on-rails - strong_parameters gem & devise で set_locale を許可する
デバイスを使用した小さなプロジェクトで強力なパラメーターの宝石を使用しています
コラムを追加User.rb
しました。locale
これは私のcontrollers/users/registrations_controller.rb
ファイルです:
フォームから受け取ったパラメータは次のとおりです。
user :locale column
パラメータに追加したいparams[:locale]
どうすればいいですか?
ありがとう!
ruby-on-rails - 宣言的承認: 特定の属性に対するモデル アクションを制限する
私はレールにまったく慣れていないので、ユーザーがモデルのどの属性を変更できるかを制御できる認証システムをセットアップしようとしています。
役割ベースの承認に declarative_authorization を使用します。これにより、すでに非常に多くの機能が提供されています。ユーザーがロールに応じてビューで表示できるもの、コントローラーで実行できるアクション、および基本的にモデルで実行できるアクションを制限します。
ただし、ロールに応じてモデルの特定の属性に対するアクションを制限する方法についての答えが見つかりません。
例: :guest ロールを持つユーザーは、ユーザー アカウントの特定の属性を更新することができます: 彼が間違ったパスワードでログインしようとすると、このアカウントを作成するユーザー アカウントの特定のフィールドを更新したい非活性。ただし、:guest ロールは、このユーザー アカウントのニックネームを変更することはできません。
したがって、ユーザーモデルで「using_access_control」メソッドを使用しますが、これにより、ロールに応じて、すべての属性のアカウントに「更新」権限が付与されるか、「更新」権限がまったく付与されません。
「strong_parameters」は基本的にそのような機能を利用できるようにする宝石であることは理解していますが、「declarative_authorization」と「strong_parameters」の両方を組み合わせる方法や、単に「declarative_authorization」で行う方法についてはわかりません。
誰かが私に解決策を教えてもらえますか?
どうもありがとう!
file-upload - Rails 4、Strong Parameters、Carrierwave を使用したファイルのアップロード
Carrierwave を使用するアプリケーションを Rails 4 に移植していますが、強力なパラメーターに問題があります。私はモデルを持っています
アップロードされた画像が渡される方法は次のとおりです。
しかし、私は受け入れるパラメータを書く方法を理解できないようですphotos_attributes
.
私は試しましたが、保存する前に作成され.permit(photos_attributes: [])
た を使用すると、SQLに表示されず、これが2番目の問題です。permit!
uuid
ここには強力なパラメーターのドキュメントが不足しており、続行する方法もわかりません。
更新 これは、ネストされた属性で機能しました:
ただし、Rails 4 用に Carrierwave または Nested Form を最初に更新する必要があるようです。常に空の画像を保存しようとします。Rails 3 でも同じコード (strong_params なし) が機能します。
ruby-on-rails - パラメータを許可できませんか?
これは私にとって奇妙なことなので、他の誰かがこれに遭遇したかどうか興味があります:
私は次のものを持っています:
私のコントローラーの作成および更新アクションでは、上記のパラメーター呼び出しで一括割り当てを使用しています...
しかし、私はまだ得るUnpermitted parameters: agent_ids
これをparams.required(:credential).permit!
(つまり、すべて許可) に変更すると、もちろん機能します。
ここで明らかな落とし穴を見落としているに違いない気がします...誰かそれが何であるか知っていますか?
ruby-on-rails - 強力なパラメータキーの名前を変更する方法はありますか?
強力なパラメーターを使用しないコントローラーにコードがあったとしましょう
ここで強力なパラメータを使用することはできますか?
できない
なぜならforeign_idはパラメータではないからです
できない
alias_idがモデルにないためです。
基本的に、StrongParametersを使用するときにパラメーターキーをエイリアスできるかどうかを知りたいです。
ruby-on-rails - APIのみのアプリを行う際にStrong Parametersと競合する工夫をする
新しい gem: strong_parametersを使用して、API のみのアプリを作成したいと考えていました。私のアプリはデバイス トークン認証を使用してユーザーを認証します。ユーザーが認証されないことに気付くまで、すべてがうまく機能していました。APIの作成とdeviseの使用に関するすべてのガイドに従いました。トークンを取得して auth_token パラメーターに割り当てるために、フィルターの前に追加することさえしました。データを取得しようとするたび{"error":"You need to sign in or sign up before continuing."}
に、HTTP ヘッダーでユーザーのトークンを送信しているにもかかわらず、この応答 " " が返されます。
auth_token を正常に取得するように要求することはできますが、ユーザーのコントローラーでユーザー インデックス メソッドを ping すると、上記のエラーが表示されます。HTTPヘッダーに認証トークンを含めました:headers => {"Authorization" => "Token token=#{token["auth_token"]}"}
(これは、APIをテストするために使用しているAPIテスタークラスにあります)。
私は強力なパラメータを取り出しましたが、今ではその問題はありません。devise と strong_parameters で API エラーが発生した人はいますか?
ruby-on-rails - コントローラー仕様で strong_parameters をテストする方法は?
strong_parameters gem を追加した後にコントローラーをテストしたいのですが、どうすればよいですか? 私は試した:
コントローラ
仕様
エラー
ruby-on-rails - strong_parameters を使用して user_id 以外のすべての属性を許可する方法は?
私はそのようなものを使いたいです: