我正在使用Ruby on Rails 4.1.1,我希望在电子邮件中添加链接图像 - 我的应用程序的徽标 - 但我对previous question以来有疑问。
通过使用位于public
目录中的文件,似乎链接到资产管道中的图像,您可以使用
link_to(LINK_TEXT_OR_IMAGE_TAG_HELPER, image_path(IMAGE_NAME))
但是对于位于app/assets
的人来说似乎不能正常工作,至少在生产模式下呈现的电子邮件中是这样。 在Production中编译的所有资产都有一个指纹ID ...是指纹,导致静态资产的加载不会在电子邮件中呈现图像?
我怀疑,因为我想从浏览器和电子邮件访问图像。我尝试通过将图片从app/assets/images/logo.png
移动到public/images/logo.png
并将application.css.scss
文件中的语句从image-url("logo.png")
更改为url("/images/logos.png")
来解决此问题。但是我不知道我是否遵循“Rails方式”或“最佳实践”。我呢?我应该在public
目录中添加我计划在我的应用程序之外使用的所有资产以及app/assets
目录中我计划在我的应用程序内部使用的所有资产吗?
答案 0 :(得分:0)
对于电子邮件,与标准的Rails视图相比,它几乎没有任何不同。
您可以使用常规视图中通常使用的image_tag
助手链接到邮件中的图片:
<%= image_tag('some_image.jpg') %>
您还需要告诉Action Mailer它可以找到资产的位置,因为它将使用绝对URL来引用您的图像:
config.action_mailer.asset_host = 'http://www.example.com/'