【问题标题】:rails - assets_host routing issue for png filerails - png 文件的 assets_host 路由问题
【发布时间】:2013-02-07 20:19:35
【问题描述】:

我有一个生成 .png 文件的 QRCode 生成器。

二维码生成器的路径是PNG mime类型的SHOW方法。

我正在使用 assets_sync :

# Asset Sync
  config.action_controller.asset_host = "https://#{ENV['FOG_DIRECTORY']}.s3.amazonaws.com"

当请求 PNG 时,我被重定向到:

https://mysite-assets.s3.amazonaws.com/restaurants/50f17f4137ff3ef955000001.png

但我需要:

https://mysite.com/restaurants/50f17f4137ff3ef955000001.png

我正在使用的路由,虽然很丑,但是:

<%= image_tag(restaurant_path(restaurant)+".png") %>

【问题讨论】:

  • 这就是asset_host 所做的。它告诉 Rails 如何为您的资产构建 URL。通过指定 S3 主机,您的所有资产路径都会将其作为资产路径输出。我不确定你预期会发生什么。
  • 虽然这是一个 png 文件,但它不是资产,因为它是根据请求生成的。我想覆盖网址,以便获得正确的网址。

标签: ruby-on-rails ruby ruby-on-rails-3 routes asset-pipeline


【解决方案1】:

糟糕,我只需要使用:

<%= image_tag(restaurant_url(restaurant)+".png") %>

网址而不是路径。

【讨论】:

    【解决方案2】:

    稍微不那么丑(在我看来)可能是:

    <%= "#{image_tag restaurant_url(restaurant)}.url" %>
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多