¿Cómo hacer que el Regulador de Registros muestre la página de registro solo si el usuario ya ha iniciado sesión?
Traté de encontrar una solución de Google y aquí en SO, pero no pude encontrar ...
Est es la única pregunta. Solo tiene una respuesta y se acepta, pero no funciona para mí ... Aquí está mi código:
class RegistrationsController < Devise::RegistrationsController
before_filter :authenticate_user!
def new
puts "Method new was called"
super
end
end
Cuando no estoy conectado enlocalhost:3000/sign_up
a página @ se muestra normalmente yMethod new was called
está impreso. Quiero que el controlador me redirija a la página de inicio de sesión si aún no he iniciado sesión. Por supuesto, puedo verificarlo ennew
método y redirigir, pero no es una buena solución ... Estoy seguro de que hay una manera más elegante. Incluso intenté usarprepend_before_filter :authenticate_user!
pero tampoco funciona.
EDITA
He definido rutas para este controlador en routs.rb
devise_for :users, :controllers => { :sessions => "sessions", :registrations => "registrations" }