RailsAdmin :: MainController #msboard中的NoMethodError未定义方法`is_admin?'对于#<user:0x007fc87c140c48>你的意思是? is_haml?

时间:2016-08-16 17:40:44

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

Currently I'm using devise and rails_admin on Rails 5.0.0.1, when I open admin panel this error is showing up.

  

在rails_admin.rb文件中添加以下行以进行授权后,出现上述错误

config.authorize_with do
redirect_to main_app.root_path unless current_user.is_admin?

1 个答案:

答案 0 :(得分:0)

该错误指出未为is_admin?实例定义user方法。我假设您的模型中有admin属性。您可以在模型中定义方法,如

class User < ActiveRecord::Base
 def is_admin?
   self.admin #returns a boolean
 end
 ...
end

或者用

替换块
config.authorize_with do
  redirect_to main_app.root_path unless current_user.admin
end

current_user.admin将根据admin表格中的字段users返回一个布尔值。

希望这有帮助!