Ruby on rails 使用cancan和rolify进行角色管理
我正在使用Desive cancan rolify设置来处理用户。注册后,他们将获得一个读者角色。我想能够,从一个管理界面,促进他们的作家角色。问题是,角色和用户角色表的设置方式使得这变得相当复杂,尤其是在没有用户角色模型的情况下,而且我相当业余。有熟悉这方面的人可以指导我正确的方法吗?我希望您确实了解Desive+cancan+rolify设置 如果您确实遵循了这些步骤,则应该有“用户”、“角色”和“用户\角色”表。你不需要用户的角色模型 您需要做的第一件事是确保您可以为用户分配和检查角色 在继续之前,您应该能够运行这些代码(从文档的使用部分,在控制台中的任何用户上尝试这些代码) 如果这对您有效,现在您需要为新用户分配读卡器角色,最好在创建回调后执行此操作:Ruby on rails 使用cancan和rolify进行角色管理,ruby-on-rails,devise,roles,cancan,Ruby On Rails,Devise,Roles,Cancan,我正在使用Desive cancan rolify设置来处理用户。注册后,他们将获得一个读者角色。我想能够,从一个管理界面,促进他们的作家角色。问题是,角色和用户角色表的设置方式使得这变得相当复杂,尤其是在没有用户角色模型的情况下,而且我相当业余。有熟悉这方面的人可以指导我正确的方法吗?我希望您确实了解Desive+cancan+rolify设置 如果您确实遵循了这些步骤,则应该有“用户”、“角色”和“用户\角色”表。你不需要用户的角色模型 您需要做的第一件事是确保您可以为用户分配和检查角色 在
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
就这些
我希望这能有所帮助。如果我理解用户以管理员身份登录时您想要的问题没有错,那么他/她应该具有管理员(编写器)功能,而您没有任何用户表?
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