-如果用户具有特定角色登录vendor
-他们应该只看到他们在他们的商店已创建的项目。 他们不应该能够看到产品的其他供应商。
所以我想这样做在我的授权(使用设计,康康舞,Rolify)。
我尝试这样做:
user ||= User.new # guest user (not logged in)
if user.has_role? :vendor
can :dashboard
can :manage, [Product, Vendor], :vendor_id => user.id
can :view, [Product], :vendor_id => user.id
end
但是....没有太多的运气与......我缺少什么?
编辑1
我知道我可以限制产品,如控制器:
@product = current_user.products
但是,这不是我所期待的。 在这种情况下,供应商(即角色的用户:vendor
)应该只能够看到它们添加到存储产品,但他们不应该能够看到其他供应商增加产品。 然而,买方(即角色的用户:buyer
)应该能够看到所有的产品从所有买家(如将管理员的/ etc)。 买方将无法看到的一些产品等的价格,以及其他一些属性
我怎样才能做到这一切?