Redirect não está funcionando
Tenho esta linha no meu controlador de votos:
before_filter :authenticate
Então, quando eu votar enquanto estiver desconectado, ele deverá falhar neste filtr
Meu método de autenticação no meu controlador de aplicativo é assim:
def authenticate
logged_in? ? true : access_denied
end
Então retornaaccess_denied
que se parece com isso:
def access_denied
redirect_to login_path, :notice => "You must log in to perform this action." and return false
end
Portanto, devo ser redirecionado para minha página de login, certo?
Tenho isso no meu arquivo routes.rb:
match '/login' => "sessions#new", :as => "login"
e eu tenho umnew
visualize com um formulário de login para o qual eu deveria ser redirecionado quando votar e não estiver logado. Também tenho esse código nocreate
método do meu controlador de votos:
if @vote.save
respond_to do |format|
format.html { redirect_to @video }
format.js
end
else
respond_to do |format|
format.html
end
end
Mas quando voto, não sou redirecionado e recebo esta mensagem de erro nos meus logs:
Started GET "/login" for 127.0.0.1 at Thu Mar 24 21:18:08 -0700 2011
Processing by SessionsController#new as JS
Completed in 17ms
ActionView::MissingTemplate (Missing template sessions/new with {:locale=>[:en, :en], :formats=>[:js, "*/*"], :handlers=>[:rhtml, :rxml, :erb, :builder, :rjs]} in view paths "/rubyprograms/dreamstill/app/views"):
Por que isso está acontecendo e como posso fazer esse redirecionamento funciona