正如标题所示,设计助手方法仅适用于users_controller.rb。如果我在登录后尝试在任何其他控制器(甚至是applications_controller.rb)中访问它,我会收到此错误。
Routing Error
undefined local variable or method `current_user' for ApplicationController:Class
我只是在applications_controller.rb中添加puts current_user
。
这是我的routes.rb
devise_for :users
resources :users
知道为什么会这样吗?感谢。
答案 0 :(得分:1)
current_user不是类方法,因此它不能直接在ApplicationController中使用
它将在所有action
和before_action
使用以下逻辑检查Application Controller中的current_user
的值。
class ApplicationController < ActionController::Base
before_action do
puts current_user
end
protect_from_forgery with: :exception
end
如果您仍然遇到任何问题,请告诉我