我有一个Product
模型,如果用户以guest
角色身份登录或未登录,我不希望他们能够在我的应用程序中看到产品的价格。
我正在使用 Devise、CanCan 和 Rolify。
我试过这个,在我的ability.rb
:
user ||= User.new # guest user (not logged in)
if user.has_role? :guest
can :read, [Product, Vendor, Banner]
cannot :read, [Product.price]
end
但这似乎不起作用。我没有在我的视图中添加任何代码 - 我需要这样做吗,还是这个ability
类根本不显示价格?