【问题标题】:Rails 4 link to static file in public in mailerRails 4 在邮件程序中公开链接到静态文件
【发布时间】:2014-04-22 21:13:27
【问题描述】:

在 Rails 4 应用程序中,我有一个静态文件存储在 /public 目录中。我有一个视图部分链接到该文件,如下所示:

<%= "Please download the #{link_to 'Static file', '/static_filename.docx'}".html_safe %>

partial 用于常规视图和邮件视图。在常规视图中,这完美运行,链接 url 是这样的:

www.example.com/static_filename.docx

但是在邮件中,url是这样出来的,缺少主机名:

/static_filename.docx

尽管我小心翼翼地在 config/environments/production.rb 中配置了默认 url,但这样:

  config.action_mailer.default_url_options = { :host => 'http://www.example.com' }

我很困惑我做错了什么,以及为什么当邮件程序不起作用时常规视图起作用。

任何帮助将不胜感激!

【问题讨论】:

    标签: ruby-on-rails ruby actionmailer public


    【解决方案1】:

    您应该将您的资产托管在行动邮件中

     config.action_mailer.asset_host = "http://www.yourdomain.com"
    

    其次,在您的资产上使用asset_path() 包装器,即

     <%= "Please download the #{link_to 'Static file', asset_path('/static_filename.docx')}".html_safe %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2017-06-23
      • 2011-08-03
      • 1970-01-01
      • 2021-05-14
      • 2014-01-26
      • 1970-01-01
      • 2011-12-11
      相关资源
      最近更新 更多