ruby on rails 4 - rails - ActionView:: Plantilla:: Error: ¡Falta el host al que enlazar! Proporcione el parámetro: host, establezca default_url_options[: host] o establezca: only_path en true
send email rails 5 (2)
Al final, agregué lo siguiente con el valor correcto para cada archivo de entorno:
test.rb / development.rb / production.rb
Devise 3.2.x - 4.xx
Rails 4.1.x && Rails 4.2.x && Rails 5.xx
Gracias a maudulus
# Default Mailer Host
Rails.application.routes.default_url_options[:host] = ''domain.com''
Mi ruby on rails action mailer funciona bien en el entorno de desarrollo, pero en el entorno de producción, mantiene throw:
ActionView::Template::Error: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
Mi configuración de desarrollo es
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:port => xxx,
:address => ''smtp.example.org'',
:user_name => ''[email protected]'',
:password => ''xxxxxxxx'',
:domain => ''xxxxxx.com'',
:authentication => :plain,
}
config.action_mailer.default_url_options = { :host => ''localhost:3000'' }
Mi configuración de producción es
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:port => 587,
:address => ''smtp.example.org'',
:user_name => ''[email protected]'',
:password => ''xxxxxx'',
:domain => ''example.com'',
:authentication => :plain,
}
config.action_mailer.default_url_options = { :host => ''example.com'' }
Mis otros entornos son:
ruby 2.1.1
rails 4.0.3
sidekiq
devise
devise-async
Yo he tratado:
Agregue lo siguiente en un archivo de inicializador
ActionMailer::Base.default_url_options[:host] = "example.com"
Esta respuesta here
Ninguno de los dos funciona.
Intente reiniciar el servidor. Incluso en Rails 4.1, la configuración no se repasa sin reiniciar.