【发布时间】:2011-12-12 20:17:27
【问题描述】:
我在 Rails 3.1 上有我的邮件,它有一个内联附件。
要打开该附件,我使用以下代码:
attachments["rails.png"] = File.read("#{Rails.root}/app/assets/images/Rails.png")
有没有办法用assets_url 之类的东西来改变它?
【问题讨论】:
-
您不需要(也不想)为此使用asset_url之类的东西...它只会为您节省前几句话。此外,更短的版本:
File.read(Rails.root.join('app/assets/images', 'Rails.png')),您可以从中制作自己的类似“asset_url”的助手。 -
但我可以将我的资产放入供应商资产文件中,例如外部 js 文件,或者我想添加到电子邮件正文中的外部图像
-
你能做类似
File.read(Rails.root.join('public', view_context.asset_path('Rails.png')))的事情吗?它应该作为编译资产始终在公共/资产中工作。view_context可能不是必需的(或者它可能在 ActionMailer 中不可用:()但让我们试一试!
标签: ruby-on-rails-3 actionmailer asset-pipeline mailer