1
我試圖用devise,cancancan和rolify創建一個登錄系統。設計部分正在工作。我最近添加了cancancan和rolify,我試圖測試它們是否工作。PagesController中的NameError#index
我cancancan能力文件:
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
。我該如何解決這個問題?
我會很快檢查,但我不更多信息,我不覺得我必須安裝一個寶石。我已經在一週前使用過cancancan了(它正在工作,但我有自己的用戶系統,有會話,而不是設計),我知道我沒有爲該方法加載一個新的gem。 –