Как заставить RegistrationsController отображать страницу sign_up только в том случае, если пользователь уже вошел в систему?
Я пытался найти решение от 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" }