5

Actualmente estoy usando Devise para autenticar usuarios en mi aplicación. Ya funciona correctamente para la mayoría de la punta, pero estoy teniendo problemas con una acción específica:Configuración manual de return_to con el dispositivo

vista:

<p id="save"><%= link_to "Save", new_save_path, :remote => true %></p> 

saves_controller.rb:

def new 
    if user_signed_in? 
    @save = Save.create(:user_id => current_user.id) 
    render :update do |page| 
     page.replace_html "save", "Saved!" 
    end 
    else 
    redirect_to new_user_session_path, :notice => "You need to sign in to do that." 
    end 
end 

Como se puede ver, porque la acción es un ajax, no puedo usar el método tradicional before_filter :authenticate_user!. Entonces, en su lugar, estoy redirigiendo al usuario a la página de inicio de sesión.

El problema es, quiero redirigir automáticamente al usuario volver a la página anterior cuando se registran en.

entiendo que puedo hacer esto con la session[:"user.return_to"] pero estoy teniendo problemas para configurarlo. ¿Cómo puedo hacer esto? ¿O estoy haciendo esto mal?

Respuesta

15

Creo que la clave de sesión es :"#{scope}_return_to, que será simplemente :user_return_to para una clase User.

+0

¡excelente! eso funcionó a la perfección! gracias por eso. – goddamnyouryan

+2

¡Gracias! Usé esto junto con 'after_sign_in_path_for (resource)' como se menciona en esta respuesta SO: http://stackoverflow.com/a/3921517/337903. – Nick

Cuestiones relacionadas