ブログコントローラーで新しいアクションを表示しようとしていますが、次のエラーメッセージが表示され続けます。
NameError in BlogsController#new
undefined local variable or method `authenticate_admin'
私のブログコントローラーでは、新しいアクションを管理者のみに制限したいと思います(管理者とユーザーは2つの異なるモデルです)。これを別のモデルで動作させることができました。私が間違っていなければ、ヘルパーはすべてのクラスに参加できます。また、管理者ヘルパーからブログヘルパーにコードを追加しようとしましたが、うまくいきませんでした。
ブログコントローラーがauthenticate_adminメソッドを使用できないのはなぜですか?
lookignをありがとう:)
関連するファイルは次のとおりです。
blogs_controller.rb
class BlogsController < ApplicationController
before_filter :authenticate_admin, :only => [:new]
def new
@blog = Blog.new
@title = "New Article"
end
end
admins_helper.rb
def authenticate_admin
deny_admin_access unless admin_signed_in?
end
def deny_admin_access
redirect_to admin_login_url, :notice => "Please sign in as admin to access this page."
end
def admin_signed_in?
!current_admin.nil?
end
def current_admin
@current_admin ||= Admin.find(session[:admin_id]) if session[:admin_id]
end