【问题标题】:image_tag in not using asset_hostimage_tag 不使用asset_host
【发布时间】:2016-05-13 13:20:53
【问题描述】:

在生产中,当我在邮件视图中调用 image_tag 时,图像 url 反映了我设置的资产主机。但是,当我在 lib/ 内的模块中调用 ActionController::Base.helpers.image_tag 时,它不会反映资产主机。

这是在生产环境中。

production.rb

  config.action_mailer.asset_host =
    config.action_controller.asset_host = Proc.new do |source|
      "https://mycustomhost.com"
    end

生产控制台:

irb(主):001:0> ActionController::Base.helpers.image_tag("my_asset.jpg") => ...src=\"/my_app/my_asset-b00c676835d609cc1aed3ce6e7018ee1.jpg\"..

Documentation 建议我需要在ActionController::Base 上设置asset_host。我已经尝试在控制台中设置ActionController::Base.asset_host/在production.rb中设置它并重新启动nginx,然后运行ActionController::Base.image_tag,但它仍然没有返回带有资产主机的图像url。

有什么想法吗?

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3


    【解决方案1】:

    我通过从邮件程序获取view_context 并在其上调用辅助方法来实现此功能。它并没有解释为什么ActionController::Base.helpers.image_tag 不是从asset_host 读取的,但是由于我本质上是在尝试复制ActionViewimage_tag 的行为,因此这种方法似乎更好。

    【讨论】:

      猜你喜欢
      • 2011-08-10
      • 2013-07-25
      • 2012-07-26
      • 2017-06-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多