我将Rails 3.2,Devise和Cancan用于具有3个用户类别的应用程序:公司,客户和管理员。
我的问题是我得到了这个:
undefined local variable or method `current_user' for #<HomeController:0xb4fd217c>
在HomeController中我有:
class HomeController < ApplicationController
before_filter :authenticate_customer!
load_and_authorize_resource :class => false
def index
render 'index'
end
end
此外,在视图中:
- content_for :title, 'Home'
= link_to('Logout', destroy_customer_session_path, :method => :delete)
我没有在我的代码中的任何地方调用current_user。
有什么想法吗?
答案 0 :(得分:3)
CanCan对您的申请做出两个假设。
您可以通过在ApplicationController中定义current_ability方法来覆盖这两者。