El mismo error ocurre en la mía cada vez que corro rspec spec/
El error entera es en realidad:
Failure/Error: @user = Factory(:user)
ActionView::Template::Error:
Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
# ./app/views/devise/mailer/confirmation_instructions.html.erb:5:in `_app_views_devise_mailer_confirmation_instructions_html_erb__980323237__638702928'
# ./spec/models/campaign_spec.rb:21
La siguiente línea:
# ./app/views/devise/mailer/confirmation_instructions.html.erb:5:in `_app_views_devise_mailer_confirmation_instructions_html_erb__980323237__638702928'
en realidad me dio la pista de que el dispositivo es el que arroja el error.
Resulta que yo no he puesto
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
en config/environments/test.rb
(sólo en development.rb)
Adición de la opción de configuración limpiado los errores en la mía. Sospecho que estás usando otras gemas que requieren el mismo conjunto de opciones.
no estoy usando concebir, y me dio la el mismo error cuando estaba tratando de usar something_url en lugar de something_path en una de mis vistas de correo - porque Actionmailer no tiene idea de en qué tipo de entorno se está ejecutando. Su solución funciona, pero solo quería aclarar que no es causada por idear. – Oranges13
@ Oranges13: 6 meses después y puedo ver claramente que no se concibe causando el error, es solo que pasó por las vistas del dispositivo. Estoy feliz de haber documentado todo mi proceso de depuración, y me doy cuenta de cuánto Rails he aprendido. – Rystraum
@Rystraum Podría resolver el problema con su solución. Sin embargo, suponiendo que su modelo de Usuario incluye el módulo ': confirmable' de Devise, en su definición de fábrica para el atributo': user' confirm_at attribute de la siguiente manera 'confirmed_at {Time.now}' evita el error * Missing host *. Sin embargo, es necesario configurar el host predeterminado cuando nuestro código implica la generación de urls absolutas para los enlaces. Gracias. –