仅对Rails 3.1中的图像使用asset_host proc

时间:2011-08-12 01:05:34

标签: ruby-on-rails ruby-on-rails-3.1 asset-pipeline

在以前版本的rails中,我能够使用proc来仅为其他服务器的图像资源提供:

ActionController::Base.asset_host = Proc.new { |source|
  if source.starts_with?('/images')
   "https://s3.amazonaws.com/..."
  end
}

由于新的资产管道,这在Rails 3.1中似乎不起作用。任何人都知道如何使这个工作?

1 个答案:

答案 0 :(得分:7)

这看起来有点像黑客但有效:

  config.action_controller.asset_host = Proc.new { |source|
    if source =~ /\b(.png|.jpg|.gif)\b/i
      "https://s3.amazonaws.com/bucketName"
    end
  }

该文件夹需要在此存储桶中调用资产,而不是图像。