如果有Devise和Rails的问题?
我只想创建一个对象的人,例如注册表来查看某些内容=,但是却在努力用Devise定义所有内容
这是代码:
提前致谢
PS我正在使用cancan,但这对我想要显示页面的节目页面没有帮助。
这不是设计的一部分,而是康康的一部分。
您需要在cancan能力文件中定义能力:
user ||= User.new can :read, Registry, :user_id => user.id
这样cancan的授权方法将允许你做这样的事情:
@registry = Registry.find(params[:id]) authorize! :read, @registry
显然授权! 如果用户无权访问此资源,则会抛出错误。
如果您只是想在视图中检查您使用的注册表:
<% if can? :read, @registry %> do your thing here <% end %>
顺便说一句,所有这些都记录在cancan首页: https : //github.com/ryanb/cancan