問題タブ [pundit]
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 - Pundit で自分のトークンを params で認証できますか?
Google ドキュメントやドロップボックス フォルダーを共有する場合のように、独自のアクセス トークンを取得するモデルがあります。
Pundit の authorize メソッドで params[:token] を使用できますか? その部分がポリシーではなくコントローラーにあるのは少し奇妙です。
ruby-on-rails - Devise and pundit - devise のオリジナル ビュー/アクションへのアクセスを制限する方法
Rails(4.2.1)、Devise(3.4.1)、および Pundit(1.0.0) を使用しており、ユーザー ロール (rolify、4.0.0) によってデバイス ビュー (/users/edit など) へのアクセスを制限したい)。
ポリシーにどのように名前を付ける必要がありますか、または参照しているモデルをどのように指定しますか? デバイスに合わせる
ドキュメントのスクリプトを使用してデバイスコントローラーをコピーしようとしましたが、機能しません。
これを機能させるにはどうすればよいですか、簡単な方法でこれを行う方法を説明するものは見つかりませんでした。デバイスのデフォルトビューを使用しようとしていることを確認するために
ruby-on-rails - 専門家の統合は、不明な属性 `role` を書き込めません
これは私を夢中にさせています。devise で pundit をセットアップしようとしていますが、デフォルトの役割を設定しようとするまで、すべて正常に動作します。私の場合、デフォルトの役割はユーザーです。ログインしようとすると、次のエラーが表示されます。
Devise::SessionsController#new の ArgumentError
app/models/user.rb:26:in `set_default_role'
これが私のuser.rbです:
ここに私のrold.rbがあります:
何か案は?
ruby-on-rails - 専門家スコープの継承
専門家のスコープ継承のようなものが必要です。次のシナリオを想像してください。
これで、 から継承されたポリシーApplicationPolicy
にはスコープがあり、 を通じて使用できますpolicy_scope
。belongs_to :company
まったく同じスコープ ルールを持つモデルがほとんどないため、これは素晴らしいことです。
しかし、別のポリシーに別のスコープが必要な場合はどうすればよいでしょうか? Ok:
このScope
クラスの唯一の違いはresolve
メソッドにあることに注意してください。
この定型コードをコピーして貼り付けずに、他のポリシーで同じScope
クラスを再利用するにはどうすればよいですか?ApplicationPolicy
ruby-on-rails - 専門家のスコープ、メンバーに自分の投稿のみを表示させる方法は?
Reddit のクローンである学校の課題の承認に取り組んでいます。ユーザー ロール、つまり管理者、モデレーター、メンバー、およびゲストの承認用の Pundit Gem を紹介されました。
私はそうしなければなりません:
管理者とモデレーターにはすべての投稿が表示され、メンバーには自分の投稿のみが表示され、ゲストには投稿が表示されないようにする必要があります。
通常のユーザーとしてサインインすると、作成した投稿のみが表示されます。
application_policy.rb
ここに私が取り組んでいるものがあります:
これにより、ユーザーが存在するかどうか、およびユーザーがモデレーターまたは管理者であり、投稿を表示するためのアクセスのみを許可するかどうかが確認されます。説明書の状態と同じように機能します。
post_policy.rb
application_policy.rbを振り返ると、「ユーザーがログインしているか、所有者、または管理者であるかを確認します」という行が表示されます。
これをインデックスの承認に追加しようとすると? 私は取得し続けます
「PostsController#index の NoMethodError」
ありがとうございました。