confirm_url apunta a localhost

Estoy usando Devise y omniauth para la autenticación en mi aplicación rails. Seguí el archivo readme y puse la siguiente línea en mi production.rb:

config.action_mailer.default_url_options = { :host => 
'http://morning-autumn-487.heroku.com' } 

Mi correo tiene el siguiente código:

<%= link_to 'Confirm my account',confirmation_url(@user, :confirmation_token =>
@user.confirmation_token) %>

Cuando subo la aplicación a heroku, el correo de confirmación tiene el siguiente enlace para el registro en el correo electrónico: http://127.0.0.1:3000/users/confirmation?confirmation_token=8TyGWQo6y... ¿Existe alguna configuración que gobierne este nombre de host?

preguntado el 09 de enero de 11 a las 06:01

2 Respuestas

Prueba con

config.action_mailer.default_url_options = { :host => 'morning-autumn-487.heroku.com' }

Respondido el 09 de enero de 11 a las 10:01

No, sigo recibiendo el enlace como: 127.0.0.1:3000/users/… - Ved

Eso es muy extraño, funciona para mí (también en Heroku). También parece que tiene un indicador de desarrollo en algún lugar, ya que muestra el puerto 3000 (el puerto de desarrollo predeterminado). ¿Está seguro de que no está probando una instancia local por error? - David Sulc

¿Puedes probar: www.socl.in? intente registrarse y recibirá el correo, que le dará la URL - Ved

Entonces, para 'www.socl.in', ¿debería verse mi production.rb como: config.action_mailer.default_url_options = {: host => 'www.socl.in'}? - Ved

Ok, aún más gregando mi código fuente, encontré que en setup_mail.rb tenía la cadena: ActionMailer :: Base.default_url_options [: host] apuntando a localhost: 3000. Empujó la aplicación a heroku después de cambiar esto, actualizará los resultados - Ved

Ok, el problema era que, en setup_mail.rb, había una cadena:

ActionMailer::Base.default_url_options[:host] pointing to localhost:3000

Gracias por toda la ayuda.

Respondido el 09 de enero de 11 a las 11:01

No es la respuesta que estás buscando? Examinar otras preguntas etiquetadas or haz tu propia pregunta.