ActionView:: Template:: Ошибка: Отсутствует хост для ссылки на
Как следует из названия, я получаю эту ошибку, когда пытаюсь использовать link_to
в моих шаблонах почтовой программы:
ActionView::Template::Error: Missing host to link to! Please provide the :host parameter, set default_url_options[:host], or set :only_path to true
Я попытался выполнить его инструкции, и я также нашел этот пост, но я все еще получаю сообщение об ошибке.
Я попытался добавить config.action_mailer.default_url_options = { host: 'example.com' }
в каждый из следующих файлов, и никто из них не работал:
/config/environment.rb
/config/application.rb (inside the module for my app)
/config/development.rb (I'm in development mode)
Что-то изменилось в Rails 4, что делает эту работу по-другому?
Ответы
Ответ 1
Я столкнулся с этой проблемой на днях, и вот что закончилось для меня:
Rails.application.routes.default_url_options[:host] = '???'
изменить
Это относится к каждому файлу среды - development.rb
, test.rb
и production.rb
(и больше, если у вас есть) с соответствующим именем узла в каждом
Ответ 2
Вы должны установить default_url в каждой среде (разработка, тестирование, производство).
Вам нужно внести эти изменения.
config/environments/development.rb
config.action_mailer.default_url_options =
{ :host => 'your-host-name' } #if it is local then 'localhost:3000'
config/environments/test.rb
config.action_mailer.default_url_options =
{ :host => 'your-host-name' } #if it is local then 'localhost:3000'
config/environments/development.rb
config.action_mailer.default_url_options =
{ :host => 'your-host-name' } #if it is local then 'localhost:3000'