【发布时间】:2013-03-14 11:01:38
【问题描述】:
我有一个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 类根本不显示价格?
【问题讨论】:
-
你不能用 cancan 做到这一点
标签: ruby-on-rails ruby-on-rails-3 authorization cancan rolify