問題タブ [rolify]
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-4 - Pundit が CanCanCan のように Rolify と結合されていないのはなぜですか?
私はDeviseを使用しており、Punditの使用に興味がありますが、Rolifyと統合する必要があるのか 、それともスタンドアローンなのかについてはあまりわかりません. CanCanCan は Rolify とうまく連携します。ロール モデルが気に入っています。Pundit と Rolify があまり一緒に使用されていないように見える主な理由を見逃しているのでしょうか?
ruby-on-rails - Cancan、Devise、Rolify でリソースへのアクセスを制限する Resourcify
Devise と Rolify で CanCan をセットアップしている場合、resourcify を使用してさまざまなリソース タイプへのアクセスを制限できるはずです。
例えば。
model_a と has_many の関係を持つ組織モデルがあるとします。
ユーザーは、所属する単一の組織も持っています。ユーザーは、関連として model_b のインスタンスを多数持っています。組織全体でユーザーがアクセスできる範囲を、ユーザーが所属する組織のみに制限したいと考えています。
私は能力クラスのためにこのようなものを設定できるはずです:
しかし、クエリを特定のユーザーのこの組織だけに制限しない限り、アプリケーションのさまざまな部分にさまざまなリソースがポップアップし続けます。何を与える?ローリファイは自動的にそれを行うべきだと思いましたか? それとも、model_a および model_b クラスで resourcify を使用して設定する必要がありますか? もしそうなら、両方のモデルのジョイン テーブルを自分の rify テーブルにセットアップする必要はありませんか? それともそれはポリモーフィックですか?
ありがとう!
ruby-on-rails - 未定義のメソッド「has_role?」nil:NilClass の場合
ユーザーに rolify メソッドを適用しようとすると、次のエラーが発生します。
current_user はすべてのビューでアクセスできるグローバル メソッドである必要があるため、理由がわかりません。どうしてゼロになることができますか?
ありがとう!
コントローラ
私の見解
ruby-on-rails-4 - 特定のロールを持つユーザーのみに特定のスコープを制限するにはどうすればよいですか?
だから私はPost
モデルを持っています。Myposts
は公開または非公開のいずれかです。私はRolify、CanCanCan、およびDeviseを使用しています。
私が望んでいるのは、ユーザーがすべての投稿のアクション:admin
を表示できるようにすることですが、私またはユーザー (つまり、ログインしていない) は投稿のみを表示できるようにする必要があります。Post#Show
:member
guest
Post.published
私ability.rb
はこのように見えます:
と の両方:member
でこれを試してみGuest
ましたが、ページで無限のリダイレクトループが発生しましたPost#Index
-これは私のroot_path
です:
WherePost.published
は、 を持つすべての投稿の配列を返しますpublication_status = "published"
。
これは、私が自分で宣言した方法ですPost.rb
:
どうすればこれを達成できますか?