微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – CanCan和没有型号的控制器

我正在使用CanCan进行授权.我在/app/config/ability.rb中定义了模型动作用户规则,它的工作正常.我已经将load_and_authorize_resource行添加到我的application_controller中,一切都完成了.

但是,我也有许多视图和控制器没有下面的模型.例如,尝试加载统计页面

NameError (uninitialized constant Statistic):
  activesupport (3.2.3) lib/active_support/inflector/methods.rb:229:in `block in constantize'
  activesupport (3.2.3) lib/active_support/inflector/methods.rb:228:in `each'
  activesupport (3.2.3) lib/active_support/inflector/methods.rb:228:in `constantize'
  ...

CanCan有没有办法使用控制器动作而不是模型动作?

解决方法

使用authorize_resource:class =>在您的控制器中为false. CanCan将自动检查控制器名称的能力(作为一个符号,单数,例如:统计控制器的统计)

https://github.com/ryanb/cancan/wiki/Non-RESTful-Controllers

原文地址:https://www.jb51.cc/ruby/271872.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐