我一直在使用rails_admin v0.7.0和清除gem这一点.我今天尝试将rails_admin更新为v1.0,但是我得到了一个未定义的变量或方法错误current_user.在v0.7.0中它似乎RailsAdmin::MainController继承自ApplicationController,而在v1.0中它直接继承ActionController::Base,这可以解释current_user现在是未定义的(我相信current_user是ApplicationController用清除宝石定义的).但是,由于我没有找到其他人遇到这个问题,我想我一定是在遗漏一些东西.
我不是那个在这个应用程序上设置许可的人,但我认为我们不会做任何不符合标准的事情会影响到这一点.Clearance::Controller包括在内ApplicationController.没有特别的定义current_user.
配置/初始化/ rails_admin.rb
RailsAdmin.config do |config|
# Popular gems integration
## Clearance
config.authorize_with do |controller|
unless current_user.admin?
redirect_to(
main_app.root_path,
alert: "You are not permitted to view this page"
)
end
end
config.current_user_method { current_user }
end
Run Code Online (Sandbox Code Playgroud)