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

ruby-on-rails - Rails4の強力なパラメーター-更新時にスタックレベルが深すぎます

Rails 4で遊んでいて、強力なパラメーターでレコードを更新する際に問題が発生しました。「スタックレベルが深すぎます」というエラーが発生し続けます。has_onemeta_dataの投稿レコードを更新しようとしています。

post.rb

posts_controller.rb

新しいレコードの作成は問題なく機能し、関連するmeta_dataレコードを保存します。更新すると、スタックレベルが深すぎるというエラーが発生します。{:meta_data_attributes => [:title, :description, :keywords, :menu_name]}許可されたパラメータからを削除すると、保存は問題なく機能します

どんな助けでも素晴らしいでしょう、事前にありがとう!

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

ruby-on-rails - strong_parameters gem & devise で set_locale を許可する

デバイスを使用した小さなプロジェクトで強力なパラメーターの宝石を使用しています

コラムを追加User.rbしました。localeこれは私のcontrollers/users/registrations_controller.rbファイルです:

フォームから受け取ったパラメータは次のとおりです。

user :locale columnパラメータに追加したいparams[:locale]

どうすればいいですか?

ありがとう!

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

ruby-on-rails - 宣言的承認: 特定の属性に対するモデル アクションを制限する

私はレールにまったく慣れていないので、ユーザーがモデルのどの属性を変更できるかを制御できる認証システムをセットアップしようとしています。

役割ベースの承認に declarative_authorization を使用します。これにより、すでに非常に多くの機能が提供されています。ユーザーがロールに応じてビューで表示できるもの、コントローラーで実行できるアクション、および基本的にモデルで実行できるアクションを制限します。

ただし、ロールに応じてモデルの特定の属性に対するアクションを制限する方法についての答えが見つかりません。

例: :guest ロールを持つユーザーは、ユーザー アカウントの特定の属性を更新することができます: 彼が間違ったパスワードでログインしようとすると、このアカウントを作成するユーザー アカウントの特定のフィールドを更新したい非活性。ただし、:guest ロールは、このユーザー アカウントのニックネームを変更することはできません。

したがって、ユーザーモデルで「using_access_control」メソッドを使用しますが、これにより、ロールに応じて、すべての属性のアカウントに「更新」権限が付与されるか、「更新」権限がまったく付与されません。

「strong_parameters」は基本的にそのような機能を利用できるようにする宝石であることは理解していますが、「declarative_authorization」と「strong_parameters」の両方を組み合わせる方法や、単に「declarative_authorization」で行う方法についてはわかりません。

誰かが私に解決策を教えてもらえますか?

どうもありがとう!

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

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 なし) が機能します。

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

ruby-on-rails - パラメータを許可できませんか?

これは私にとって奇妙なことなので、他の誰かがこれに遭遇したかどうか興味があります:

私は次のものを持っています:

私のコントローラーの作成および更新アクションでは、上記のパラメーター呼び出しで一括割り当てを使用しています...

しかし、私はまだ得るUnpermitted parameters: agent_ids

これをparams.required(:credential).permit!(つまり、すべて許可) に変更すると、もちろん機能します。

ここで明らかな落とし穴を見落としているに違いない気がします...誰かそれが何であるか知っていますか?

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

ruby-on-rails - 強力なパラメータキーの名前を変更する方法はありますか?

強力なパラメーターを使用しないコントローラーにコードがあったとしましょう

ここで強力なパラメータを使用することはできますか?

できない

なぜならforeign_idはパラメータではないからです

できない

alias_idがモデルにないためです。

基本的に、StrongParametersを使用するときにパラメーターキーをエイリアスできるかどうかを知りたいです。

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

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 エラーが発生した人はいますか?

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

ruby-on-rails - コントローラー仕様で strong_parameters をテストする方法は?

strong_parameters gem を追加した後にコントローラーをテストしたいのですが、どうすればよいですか? 私は試した:

コントローラ

仕様

エラー

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

ruby-on-rails - strong_parameters を使用して user_id 以外のすべての属性を許可する方法は?

私はそのようなものを使いたいです: