我有request.env['http_host']
在localhost上工作,但在heroku的布局页面中引用时会导致错误。
此请求在视图中工作并显示正确的基本URL,但在将代码移动到布局时会导致错误。注意 - 我正在使用它为html电子邮件中的图像构建绝对URL。
<%= "#{request.env['HTTP_HOST']}/assets/email_header_image.png" %>
<%= image_tag "#{request.env['HTTP_HOST']}/assets/email_header_image.png" %>
收到错误:
ActionView::Template::Error (undefined method `env' for nil:NilClass):
答案 0 :(得分:15)
如果您想要没有端口的主机,请使用:
request.host
编辑:哎呀,我刚刚注意到你在视图中使用了代码。我不知道它是否在那里可见,我只在控制器中使用它,但通过设置实例变量可以很容易地克服它。
答案 1 :(得分:5)
@host = request.host
<%= @host %>