【发布时间】:2016-03-01 22:32:21
【问题描述】:
我正在尝试使用 devise、cancancan 和 rolify 创建一个登录系统。设计部分正在工作。我最近添加了 cancancan 和 rolify,我正在尝试测试它们是否有效。
我的康康康能力档案:
class Ability
include CanCan::Ability
def initialize(user)
if user.has_role? :admin
can [:index], Page
else
can [:index,:lecture]
end
end
end
我有一个根页面root to: "pages#index" 正在工作。如果我在页面控制器的顶部添加load_and_authorize_resource,例如
class PagesController < ApplicationController
load_and_authorize_resource
def index
end
def lecture
end
end
我在尝试访问它时返回:
NameError in PagesController#index 由这些行生成:
names.inject(Object) do |constant, name|
if constant == Object
* constant.const_get(name)
else
candidate = constant.const_get(name)
next candidate if constant.const_defined?(name, false)
* 是给出错误的行。我还在 rolify 文档中看到我必须将 resourcify 添加到将要使用它的文件中。但如果我尝试添加它,我会收到错误undefined method resourcify。我该如何解决这个问题?
【问题讨论】:
标签: ruby-on-rails devise cancancan rolify