在过去两个月中使用Devise rails出租项目的应用程序,现在该项目已经发货,就必须更改
作为我的项目通过电子邮件发送给我作为更改路线
“我已经决定我们将纯粹从事B2B娱乐活动。因此,不允许私人列出出租设备,只有经过验证的出租中心/硬件商店才可以列出出租设备。 但是,私人个人将能够创建个人资料并通过该平台进行预订,而不必从自己的设备/工具中出租。”
所以我的问题是我应该像
一样在用户中添加新列吗?“设计用户”列中的角色和权限:
用户(个人),
管理员(我们的员工)
公司。
或在项目中使用Rails-devise-pundit或cancancan之类的宝石,即使该项目已经建成。
答案 0 :(得分:2)
我们可以使用cancan宝石来做到这一点。
实施的基本步骤:
将gem导入Gemfile
使用以下命令创建能力文件
rails g cancan:ability
class Ability
include CanCan::Ability
def initialize(user)
alias_action :create, :read, :update, :destroy, :to => :crud
if user.super_admin?
can :access, :rails_admin # grant access to rails_admin
can :dashboard # grant access to the dashboard
# Accss Level to Models
can :crud
end
end
end
查看有关Gems documentation的更多详细信息
答案 1 :(得分:1)
您可能想看看rolify宝石。
它非常易于使用,您可以添加多个角色,并将多个角色分配给一个用户。这样,您就可以避免在用户表中添加新列。
以下是您可以为用户分配角色的方法:
user = User.find(1)
user.add_role :admin
验证用户是否具有角色admin
:
user = User.find(1)
user.has_role? :admin
=> true