2016-08-16 2 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のNoMethodError#ダッシュボード未定義のメソッド `is_admin? ' #<User: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操作を実行する2人のユーザーを掲示することができます。今は管理者として1人のユーザーを割り当てたいと思っています。私はレールコンソールを介して割り当てを試みたが、それはエラーをスローする。 – Bikal

答えて

0

エラーがis_admin?方法はのために定義されていないと述べていますuserインスタンス。あなたのモデルにadminという属性があるとします。あなたは

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

のようなモデルにメソッドを定義したり、usersテーブルのフィールドadminに基づいてブール値を返します

config.authorize_with do 
    redirect_to main_app.root_path unless current_user.admin 
end 

current_user.adminでブロックを交換することができます。

希望すると便利です。

関連する問題