問題タブ [cancan]

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 に答える
254 参照

sql - ユーザー テーブルのブール列としてロールをモデル化することの欠点

私は RBAC に CanCan を使用する Rails アプリに取り組んでおり、役割は 3 つしかありません。今後、さらに 1 つまたは 2 つ追加する予定です。

以前は、m2m リンク テーブルを介してユーザーに結合された、独自のエンティティとして常に役割を持っていました。非常に少数の静的な役割があるため、やり過ぎのように思えます。したがって、ロールごとにユーザーテーブルにブール値の列を追加するだけでよいと考えています。(CanCan の例のように) ビットマスクを使用することもできますが、1 つの列に複数の値を格納することにあまり熱心ではありません。

私の質問は、この状況で何をするのが最善かということです: ビットマスク、複数のブール列、または適切に正規化された m2m 関係?

0 投票する
3 に答える
4118 参照

ruby-on-rails - CanCan - アクセスが拒否されました - CanCan を LOG に指定する方法 なぜですか?

CanCanの実装に取り​​組んでいます。何らかの理由で、モデルのパーミッションについて具体的に取得しようとすると、CanCan は Access Denied を表示し続けます。そして、私はその理由を理解できません。

CanCan を具体的にする方法はありますか (おそらくログまたは開発中に、アクセスが拒否される理由について)。たとえば、XXX モデルへの読み取り機能がありません。

これはデバッグに役立ちます。

ありがとう

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

ruby-on-rails - Rails CanCan: CanCan は、:update ができるのに :read ができると想定していませんか?

これは承認のために機能します!電話

ただし、Ability クラスの行が次のように変更されると、CanCan::AccessDenied がスローされます。

ブランドはゼロではありません。

何かを :update できる場合、自動的に :read できるようにすべきではありませんか?

これが仕様によるものなのか、それともどこかに欠けているものがあるのか​​ を知りたいだけです。

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

ruby-on-rails - 未定義のメソッドcurrent_user:CancanおよびActive Scaffold

を使用してアクティブなスキャフォールドコントローラーにアクションリンクを追加しようとしています

しかし、使用しようとしているコントローラーが何であれ、常に取得undefined method current_user
します。ログに記録されたユーザーが何かを実行できるかどうかを確認するにはどうすればよいですか?
私も試しました

ここで提案されているように、しかし成功しませんでした。
これの何が問題になっていますか?

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

ruby-on-rails-3 - RyanBatesのCanCan認証プラグインを使用するとcurrent_userエラーが発生する

適用可能なビューの部分:

models /ability.rb

これは私が得るエラーです:

考え?

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

ruby-on-rails-3 - Rspec、CanCan、Devise

私はプロジェクトを開始しています。すべてをテストできるようにしたいと思います:)

そして、CanCanとdeviseに問題があります。

たとえば、コントローラーの連絡先があります。誰でも見ることができ、誰でも (禁止された人を除く) 連絡先を作成できます。

コードは機能しますが、コントローラーをテストする方法がわかりません。私はこれを試しました。これは、load_and_authorize_resource 行をコメント化すると機能します。

しかし、これらのテストは完全に失敗しました....私はウェブ上で何も見ませんでした.

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

ruby-on-rails - CanCanなどからDeviseヘルパーメソッドにアクセスする

これは簡単な質問のように思えますが、頭を包むことはできません。

新しいRails3アプリでの認証にDeviseを使用し、承認にCanCanを使用します。

CanCanが提供するクラスApplicationController内で定義されたメソッドにアクセスするにはどうすればよいですか?Ability

別名、このようなもの:

ここuser_signed_in?で、はで定義されていApplicationControllerます。

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

ruby-on-rails - カンカンルール作成問題

次のモデルを含むレールアプリがあります-ユーザー、ブログ、投稿、ブログメンバーシップ。

アビリティクラスでは(アクセス制限にcancanを使っているため)、ブログへのユーザーとモデレーターのアクセスを制限しようとしていますが、次のルールがあります

すべてのユーザーが任意のブログに投稿を送信できます。

教えてください - リレーションシップ スキームに従うためにアビリティ クラスでルールを適切に構成する方法を教えてください。

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

ruby-on-rails - Ability.rbモデルのCanCan初期化パラメータのnil

私は Ryan B のチュートリアルに従っていますが、ユーザーの役割を調べようとしたときに何か問題がありました。

調べたときに初期化パラメータが nil になったのはなぜですか。初期化パラメーターと Person オブジェクトの間に何らかの関係はありますか?ライアンのチュートリアルでは、初期化メソッドとユーザー モデルで「ユーザー」パラメーターを使用しています。ここで基本的なことを忘れていますか?これらは私のコードです、ありがとう!

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

ruby-on-rails - Rails 3 - CanCan - Create のパーミッションを定義する

アタッチメント用のコントローラーには次のものがあります

私が CanCan に望むことは、ユーザーが所属する project_id にのみアップロードできるようにすることです。コントローラーが正しい情報を取得していることを確認しました。nil はありません

これが私のカンカンです:

ここで問題は、その添付ファイルです。は nil で、attachment.project は nil ですか? CanCan でこの問題をどのように解決すれば、プロジェクト チーム メンバーだけが添付ファイルをプロジェクトにアップロードできるようになりますか?

ありがとうございました