这是我在这里发表的第一篇文章,所以我想说你好:)
我是铁杆新手。在我的应用程序中,我使用device + cancan + rolify。具有角色的用户:admin可以很好地管理所有这项工作,可以创建订单并向上或向下投票。 接下来我想要的是,具有role:loc_adm的用户可以创建订单并且只能在自己的订单中投票。但这是我的问题。 当我尝试我的能力时:
def initialize(user)
user ||= User.new
if user.role? :admin
can :manage, :all
else
if user.role? :lok_adm
can :manage, Order, :user_id => user.id
can :manage, Vote, :user_id => user.id
end
can :read, :all
end
具有角色的用户:lok_adm不仅可以按自己的顺序投票。 下面我发送我的模型。
class Order
belongs_to :user
has_many :votes
class Vote
belongs_to :user
belongs_to :order
class User
has_many :orders
has_many :votes
答案 0 :(得分:0)
您没有设置他们无法管理的内容。添加
cannot :manage, :all
高于他们lok_adm可以管理的内容
您也可以
if condition
elsif another_condition
end
而不是
if
else
if
end
end