我有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):
解决方法
如果您想要没有端口的主机,只需使用:
request.host
编辑:哎呀,我刚刚注意到你在视图中使用了代码.我不知道它是否在那里可见,我只在控制器中使用它,但通过设置实例变量来克服这一点非常简单.