bko*_*yyk 0 ruby-on-rails cancan
嗨,我正在尝试使用康康,但我有非常恼人的错误,即:未初始化的恒定版
对于控制器:
class EditionsController < ApplicationController
before_filter :authenticate_user! #devise
load_and_authorize_resource
def index
end
end
Run Code Online (Sandbox Code Playgroud)
这条路线:
get "editions/index"
Run Code Online (Sandbox Code Playgroud)
和这样的能力:
user ||= User.new # guest user (not logged in)
if user.has_role? "admin"
can :manage, Edition
cannot :commission
else
can :read, :commission
end
Run Code Online (Sandbox Code Playgroud)
还有一个问题,我如何为奇异(名称)控制器创建cancan能力?例如PhotoController
小智 7
问题是您正在使用自定义类.
CanCan尝试将控制器类名称单一化以匹配模型类名称,有时这不是我们所期望的:
...
如果模型类的名称空间与控制器不同,则需要指定:class选项.
来源:https://github.com/ryanb/cancan/wiki/authorizing-controller-actions
在我的情况下,我有一个没有模型的类,所以我只是在命令的末尾添加了":class => false":
load_and_authorize_resource :class => false
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1604 次 |
| 最近记录: |