这是我在这里的第一篇文章,所以我想说你好:)
我是新来的铁路。在我的应用程序中,我使用 device + cancan + rolify。具有角色 :admin 的用户可以管理所有,这工作得很好,可以创建订单并投票赞成或反对。接下来我想要,具有角色 :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