使用rails_admin gem滚动您自己的身份验证停止使用rails 5

时间:2016-12-10 06:40:36

标签: ruby-on-rails-5 rails-admin

SO answer显示了在您自己进行身份验证时如何对rails_admin gem进行身份验证。该方法遵循此pattern。但是,此解决方案不再适用于rails 5。相反,在尝试访问管理视图时,会在config/initializers/rails_admin.rb

中触发以下异常
undefined method `signed_in?' for #<RailsAdmin::MainController:0x007fbe38628ab0>

你如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

初始化程序中不再可以访问signed_in?current_user这样的常用视图帮助程序,因此我提出的解决方案是:

config.authenticate_with do
    current_user =  User.find_by_id(session[:user_id])
    raise 'You must be admin' unless current_user.try(:admin?)
  end