Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 根url返回空字符串_Ruby On Rails_Url_Devise - Fatal编程技术网

Ruby on rails 根url返回空字符串

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

所以我试着用link_to在电子邮件中添加一个链接。发送电子邮件的应用程序安装在两个单独的服务器上的development和staging envs中,但目前它们的配置方式完全相同。出于某种原因,这一行:

<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 method
domain
”。。
def default_url_options 
{ 
:host => Rails.application.secrets.default_host, 
protocol: Rails.application.secrets.default_protocol 
}
end