Я пытался найти решение от Google и здесь, в SO, но не смог найти ...
Это единственный вопрос. У него только один ответ, и он принят, но у меня не работает ... Вот мой код:
class RegistrationsController < Devise::RegistrationsController
before_filter :authenticate_user!
def new
puts "Method new was called"
super
end
end
Когда я не авторизован на localhost:3000/sign_up
, страница отображается нормально и печатается Method new was called
. Я хочу, чтобы контроллер перенаправил меня на страницу входа, если я еще не вошел в систему. Конечно, я могу проверить это методом new
и перенаправить, но это не очень хорошее решение ... Я уверен, что есть более элегантный способ , Я даже пытался использовать prepend_before_filter :authenticate_user!
, но он тоже не работает.
РЕДАКТИРОВАТЬ
Я определил маршруты для этого контроллера в routs.rb
devise_for :users, :controllers => { :sessions => "sessions", :registrations => "registrations" }