niezdefiniowana zmienna lokalna lub metoda `authenticate_admin '
Próbuję wyświetlić moją nową akcję na moim kontrolerze blogów, ale otrzymuję następujący komunikat o błędzie:
NameError in BlogsController#new
undefined local variable or method `authenticate_admin'
W moim kontrolerze blogów chcę ograniczyć nową akcję tylko do administratorów (administratorzy i użytkownicy to dwa różne modele). Udało mi się to uruchomić w innym modelu. Jeśli się nie mylę, pomocnicy są otwarci na wszystkie klasy. Próbowałem też dodać kod od mojego administratora pomocnika do pomocnika blogów, ale to nie zadziałało.
Dlaczego mój kontroler blogów nie może używać mojej metody authenticate_admin?
Dzięki za wygląd :)
Oto odpowiednie pliki:
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