2012-12-14 20 views
0

說我有4個角色:useragentadminsuperadmin如何檢查最小權限並以DRY方式允許所有父角色權限?

其中每個角色隨後對我的應用程序中的所有對象具有更多權限。

我正在使用Rolify,CanCan &設計。

我想要做的是,每當我想啓用的東西 - 說:

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

我想爲鏈接顯示,如果該人或者是一個adminsuperadmin。我知道我可以簡單地做一個|| - 但這看起來不太乾,特別是因爲我必須做current_user.has_role? :superadmin || current_user.has_role? :admin

想象一下我想要agent, admin & superadmin有權訪問某些鏈接/資產。

如何以乾式方式進行此操作?

回答

1

爲什麼你檢查角色而不是檢查權限?據我所知可以支持can?cannot?方法,可以幫助你的情況。你應該寫這樣的事情

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

Usefull link about this feature

+0

好點!我認爲這就是我正在尋找的。 – marcamillion