我在我的应用上使用Pundit和Devise。我的索引操作在我的wikis_controller中看起来像这样:
def index
@wikis = current_user.wikis
authorize @wikis
end
我试图阻止未登录的用户访问此索引操作,但@wikis
已设置为undefined
,因为没有用户登录。作为回报,它&# 39;没有授权。
我该如何解决这个问题?
答案 0 :(得分:1)
您可以针对模型而不是对象进行授权。
代码
authorize Wiki
会触发索引吗?没有用户对象的权威策略中的操作。此外,您可以使用范围来过滤另一个级别https://github.com/varvet/pundit#scopes上的数据。