如果有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