問題タブ [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.

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

ruby-on-rails - cancan と devise を使用して rolify の役割を追加するにはどうすればよいですか?

この件に関して多くの質問があると思いますが、私が探しているものに実際に答えたものはありません.

rolify を使用して cancan で自分の役割を定義しようとしています。Rails コンソールを介して管理者の役割を作成し、新しいユーザーのデフォルトの役割を設定することができました。

私の質問は、役割のバッチを異なる値に設定し、それらの役割を特定のユーザーに割り当てるにはどうすればよいですか?

同様に役立つこのプロセスを説明する優れたチュートリアルがある場合は、スクリーンキャストをお勧めします。

ありがとう!

0 投票する
0 に答える
889 参照

ruby-on-rails - Devise、CanCan、Rolify はテーブル 'users_roles' を見つけることができませんでした

このガイドに従って、Devise と CanCan で Rolify を使用およびインストールしています。しかし、コンソールでロールをユーザーに追加しようとすると、テーブルが見つからないことuser.add_role :adminを示す次のエラーが表示されます。users_roles

ここに私のファイルがあります:

user.rb

アビリティ.rb

role.rb

終わり

はい、を使用して移行しrake db:migrateました。私は Rails 4.0.2 を使用しています。

ありがとうございました!

0 投票する
4 に答える
565 参照

ruby-on-rails - デバイスレールの「管理者」のリンクを編集

登録にdeviseを使用し、役割にrolifyを使用するレールアプリがあります。管理者がアクセスできる各ユーザーの編集リンクを含むインデックス ページが必要です。この編集ページも、パスワードを使用しなくても機能するはずです。現在、edit_user_path は現在のユーザーの編集ページに移動しますが、これは私が望むものではありません。

この種の状況を実装する最良の方法は何ですか? 私はこれについてここでいくつかの投稿を読みましたが、私が望むものを私に与えるものはないようです.

正しい方向に向けてください!

編集 済みこのようにしようとしていますが、まだ「現在のパスワードを空白にすることはできません」というエラーが発生します

そして、私の見解では、次のフォームをレンダリングしている edit.html.erb ファイルがあります。

最後に、routes.rb ファイルに、編集ページをレンダリングするための次の行があります。編集ページを表示することはできますが、情報を入力して更新をクリックすると、「現在のパスワードを空白にすることはできません」というエラーが表示されて /users に移動します

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

ruby-on-rails-3 - ロールとストライプ プランのレールを更新できません

ページを編集してストライプ サブスクリプションを更新しようとしていますが、何を投げても気に入らないようです。

ここに私のroutes.rbがあります

私のサブスクリプションコントローラー:

そして最後に私の編集ビュー:

新しい計画をコントローラに送信して、ローカル ロールと計画の両方を更新しようとしていますが、適切なルートを見つけられないようです。この点で何が間違っているのかわかりません。

ご協力いただきありがとうございます!

0 投票する
0 に答える
622 参照

ruby-on-rails - Rolify でチェックボックスを使用してロールを管理する

私は現在、以下のラジオボタンを介して役割を管理できる部分を持っています:

チェックボックスを使用して複数のロールを追加または削除できるように、これを変更したいと考えています。

しかし、これは機能しないようです。ラジオ ボタンを使用した場合のコンソールの応答は次のとおりです。

チェックボックスを使用する場合:

では、なぜデータベースに保存されないのですか? 配列の最後に空のスポットがあるのはなぜですか?

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

ruby-on-rails - Rolify と CanCan のポイントは何ですか?

私は RoR プロジェクトに取り組んでおり、私の目的のために推奨されたこの新しい宝石、Rolify について少し混乱しています。私が理解しているように、rolify は CanCan とほぼ同じことを行いますが、能力 (rolify の役割) をデータベースに永続化します。ただし、Rolify wiki のいたるところで、CanCan で Rolify を使用する手順を目にします。

基本的に、RolifyとCanCanの違いは何ですか?いつ一方を使用し、もう一方を使用しないのですか?

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

ruby-on-rails - Checking for superadmin role

I have set up a base application with ActiveAdmin, Cancan, Devise and Rolify. It is using a single user model (no separate admin/user).

Works like a charm so far, but I am struggling to limit access to the admin interface to users with the role 'superadmin' (roles are defined in a table 'roles' and assigned via users_roles)

In the activeadmin initalizer I have set:

Then I have created a file called admin_ability.rb:

and this is my application controller:

I think I am making a stupid mistake somewhere (and I have done a bit too much copy & paste) - probably in the application controller? Can somebody help me and explain what I have done wrong?

Much obliged!

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

ruby-on-rails - Cancan it Rolify Ability

My Ability file has

And my Company Controller index has

But when I sign in as a User who operates a company, I cannot access that page. (Even though the Company.with_role(:operator, user) returns a relation in the console!)

Companies have Codes. I am not sure how to write this in cancan:

But the wiki says if I use a block then authorize_resource will not set the instance variable @codes, because it doesn't know which objects belong to the user. So I cannot use:

I am looking for a solution that will let my CodesController do:

And otherwise show the user all their Codes across all of the Companies they have the operator role for.

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

ruby-on-rails - CanCan ネストされたルート

ルートの会社の下にコードがネストされています。

resources :companys, except: [:destroy] do resources :codes, except: [:destroy] end

能力:

My CodesController がチェックする

ユーザーがアクセスできない /companys/1/codes にアクセスすると、結果が表示されません。ただし、/companys/1 を直接表示しようとすると、CanCan AccessDenied が表示されます。

これがネストされたインデックスに表示されないのはなぜですか?