2
我正在使用devise-cancan-rolify安裝程序來處理用戶。在註冊時,他們將收到Reader角色。我希望能夠從管理界面將它們提升爲Writer角色。問題在於,角色和users_roles表的設置方式使其變得相當複雜,特別是因爲沒有users_roles模型,而且我非常業餘。有沒有人可以在這裏指導我正確的方式?使用cancan和rolify進行角色管理
我正在使用devise-cancan-rolify安裝程序來處理用戶。在註冊時,他們將收到Reader角色。我希望能夠從管理界面將它們提升爲Writer角色。問題在於,角色和users_roles表的設置方式使其變得相當複雜,特別是因爲沒有users_roles模型,而且我非常業餘。有沒有人可以在這裏指導我正確的方式?使用cancan和rolify進行角色管理
我希望你看到this tutorial關於devise + cancan + rolify的設置。
如果您確實按照以下步驟操作,那麼您應該擁有用戶,角色和users_roles表。你不需要users_roles模型。
您需要做的第一件事是確保您可以分配和檢查用戶的角色。
你應該能夠繼續之前運行這些代碼(從文檔的使用部分,嘗試這些在控制檯上的任何用戶)
user.add_role "admin"
user.has_role? :admin
如果這是爲你工作,現在你需要分配讀者角色對於新用戶來說,要做到這一點最好的地方,是after_create回調:
class User
after_create :assign_reader_role
private
def assign_reader_role
self.add_role "reader"
end
end
下一步是創建添加/管理界面刪除作家的角色。
只需在您的UsersController添加兩個動作
def assign_writer_role
@user = User.find(params[:id])
@user.add_role "writer"
redirect_to @user
end
def remove_writer_role
@user = User.find(params[:id])
@user.remove_role "writer"
redirect_to @user
end
多數民衆贊成。
我希望這可以幫助。
如果我沒有理解你想要的問題,當用戶以管理員身份登錄他/她應該有管理員(作家)的能力,你是否有任何用戶表相同? – AnkitG 2012-08-13 03:49:28