Rails - ActionMailer视图:如何链接到公用文件夹中的文件

时间:2014-03-10 23:14:21

标签: ruby-on-rails ruby-on-rails-3.2 actionmailer

我想向用户发送一封电子邮件,其中包含在我的公共文件夹中下载PDF文件的链接。如何在ActionMailer视图中创建链接?我需要一个适用于我的测试,开发和生产环境的解决方案(因此,没有硬编码链接)。

1 个答案:

答案 0 :(得分:1)

如果您已经在普通视图中使用了路径,那么您只需将_path替换为_url即可。

如果您要构建自定义链接,只需在字符串中使用root_url变量即可打印出来:http://yourhost.com/

例如,对于HTML电子邮件,假设filename变量

<%= link_to 'Download PDF', "#{root_url}#{filename}" %>

用于发送短信:

<%= "#{root_url}#{filename}" %>

确保为config / environments / ENV.rb中的每个环境设置正确的主机名,因为这是_url从其获取主机名的地方

例如:config / environments / production.rb

config.action_mailer.default_url_options = { :host => 'yourhost.com' }