我嘗試使用的before_filter的管理頁面,我有我的登錄頁面,我的儀表盤等的Rails不能贏得成功使用的before_filter用於管理
所以這是我admin_user.rb
:
ActiveAdmin.register AdminUser do
index do
column :email
column :current_sign_in_at
column :last_sign_in_at
column :sign_in_count
default_actions
end
filter :email
form do |f|
f.inputs "Admin Details" do
f.input :email
f.input :password
f.input :password_confirmation
end
f.actions
end
和在控制器我要保護的頁面,我已經把在上面這樣的:
before_filter check_if_admin
def check_if_admin
if signed_in?
# raise 'Only admins allowed!' unless current_user.admin?
raise 'Only admins allowed!'
else
raise 'Please sign in!'
end
end
所以我得到了一個錯誤:
undefined method `model_name' for NilClass:Class
從去我的控制器的_form.html.erb
...
我怎麼能這樣做?當管理員訪問某個頁面時
謝謝!
注:我在web開發初學者,很抱歉,如果這似乎很容易,你:)
編輯
模型admin_user.rb
:
class AdminUser < ActiveRecord::Base
# Include default devise modules. Others available are:
# :confirmable, :lockable, :timeoutable and :omniauthable
devise :database_authenticatable,
:recoverable, :rememberable, :trackable, :validatable
# Setup accessible (or protected) attributes for your model
attr_accessible :email, :password, :password_confirmation, :remember_me
# attr_accessible :title, :body
end
你有型號admin_user.rb嗎? – Misha
我編輯我的帖子發佈 – F4Ke