2016-08-16 32 views
-1

Currently I'm using devise and rails_admin on Rails 5.0.0.1, when I open admin panel this error is showing up.RailsAdmin :: MainController#dashboard中的NoMethodError未定義的方法`is_admin?'爲#<用戶:0x007fc87c140c48>你的意思是? is_haml?

我加入下面rails_admin.rb文件線授權後,上述錯誤產生

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

+0

透露更多的細節:1)你想2)你試過3)發生了什麼事。 – peterh

+0

@Bikal,你如何區分標準用戶和管理員?你的'users'表中有'admin'字段或'role'字段嗎? –

+0

@peterh,目前我有兩個用戶可以發帖,誰都可以執行CRUD操作,現在我想分配任何一個用戶作爲管理員。我試圖通過rails控制檯進行分配,但是會引發錯誤。 – Bikal

回答

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更換塊將在users表返回基於場admin一個布爾值。

希望這會有所幫助!

相關問題