0

、、、、の 4 つの役割がuserあるagentadminsuperadminます。

各ロールは、その後、アプリ内のすべてのオブジェクトに対してより多くの権限を持ちます。

Rolify、CanCan、Devise を使用しています。

私がやりたいことは、何かを有効にしたいときはいつでも-言うことです:

<%= link_to "Create New User", new_user_registration_path if current_user.has_role? :superadmin %>

adminその人が であるか であるかをそのリンクに表示したいと思いsuperadminます。単純に||- を実行できることはわかっていますが、特にcurrent_user.has_role? :superadmin || current_user.has_role? :admin.

agent, admin & superadminアクセスしたいリンク/アセットがいくつかあると想像してください。

これを DRY で行うにはどうすればよいですか?

4

1 に答える 1

1

権限をチェックする代わりに役割をチェックするのはなぜですか? 私が知っているように、あなたの状況に役立つcancanのサポートcan?と方法。cannot?あなたはこのようなものを書くべきです

<%= link_to "Create New User", new_user_registration_path if can?(:create, User) %>

この機能に関する便利なリンク

于 2012-12-14T23:23:44.740 に答える