为什么测试环境需要为 ActionMailer 设置 default_url_options?
如果我不设置它,我会在执行我的规范时得到这个:
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: 'localhost:3000'}
那么理论上电子邮件中的链接将导致 localhost:3000,据我所知,这不是测试服务器实例真正运行的位置?尽管如此,当使用email_spec
gem 并单击电子邮件中的链接时,它们仍然有效,因为 gem 删除了服务器名称和端口,因此链接通常如下所示:
/en/user/confirmation?confirmation_token=QZu3tw17uozhpEfuVWzF
所以再来一次:如果它被email_spec
gem 删除了,我需要为它指定什么主机?