Ruby on rails 根url返回空字符串
所以我试着用link_to在电子邮件中添加一个链接。发送电子邮件的应用程序安装在两个单独的服务器上的development和staging envs中,但目前它们的配置方式完全相同。出于某种原因,这一行:Ruby on rails 根url返回空字符串,ruby-on-rails,url,devise,Ruby On Rails,Url,Devise,所以我试着用link_to在电子邮件中添加一个链接。发送电子邮件的应用程序安装在两个单独的服务器上的development和staging envs中,但目前它们的配置方式完全相同。出于某种原因,这一行: <p><%= link_to t('.action'), "#{root_url}#!/?reset_password_token=#{@token}" %></p> 这就是我的应用程序中的默认主机和默认协议。yml: DEFAULT_HOST: mywe
<p><%= link_to t('.action'), "#{root_url}#!/?reset_password_token=#{@token}" %></p>
这就是我的应用程序中的默认主机和默认协议。yml:
DEFAULT_HOST: mywebsite.com
DEFAULT_PROTOCOL: http
我在我的应用程序_controller.rb中也得到了这个:
def default_url_options
{
:host => Rails.application.secrets.default_host,
protocol: Rails.application.secrets.default_protocol
}
end
编辑2:我仍然没有找到解决问题的方法。我使用的应用程序使用sidekiq,但sidekiq配置似乎都没有覆盖默认的url选项。如果有人有主意。。
另外,如果我在Rails控制台中键入“Rails.configuration.action\u mailer.default\u url\u options[:host]”,我会得到“=>”mywebsite.com.Try{request.domain},它也可以工作,并确保您的IDE将其检测为变量,而不是字符串,因此我最终找到了问题。我必须重新启动sidekiq,以便将代码中的更改考虑在内。现在电子邮件不会发送,但这是另一个问题lol您可以显示如何配置
默认url\u选项吗?
?当然,我编辑了我的帖子.嘿,谢谢你的回答,但它不起作用。我收到一条错误消息“undefined methoddomain
”。。
def default_url_options
{
:host => Rails.application.secrets.default_host,
protocol: Rails.application.secrets.default_protocol
}
end