gpt4 book ai didi

ruby-on-rails - Rails : Images on one server, CSS 和 Javascript 位于另一个

转载 作者:行者123 更新时间:2023-12-04 05:33:34 25 4
gpt4 key购买 nike

我正在开发一个 Rails 应用程序,该应用程序有一堆(数百个)图像托管在 S3 服务器上。为了让像 image_tag 这样的助手指向这里,我必须将其添加到 config/environments/development.rb test.rb 和 production.rb:

config.action_controller.asset_host = "http://mybucket.s3.amazonaws.com"

但是,这也意味着它会在那里查找 CSS 和 Javascript。这是一个巨大的痛苦,因为每次我更改 CSS 时,我都必须将其重新上传到亚马逊。

那么..有没有一种简单的方法可以让我的应用程序在亚马逊上查找图像,但在本地查找 CSS/Javascript?

(我使用的是 Rails 3.0)

最佳答案

您可以将 Proc 对象传递给 config.action_controller.asset_host 并让它在运行时以编程方式确定结果。

config.action_controller.asset_host = Proc.new do |source|
case source
when /^\/(images|videos|audios)/
"http://mybucket.s3.amazonaws.com"
else
"http://mydomain.com"
end
end

但保持原样,当您使用 image_tag :whatever 时,这将为您提供 http://mybucket.s3.amazonaws.com/images/whatever.png

如果您也想修改路径,可以使用 config.action_controller.asset_path 执行类似的操作

config.action_controller.asset_path = Proc.new do |path|
path.sub /^\/(images|videos|audios)/, ""
end

这将为您提供 http://mybucket.s3.amazonaws.com/whatever.png 与前者的组合。

关于ruby-on-rails - Rails : Images on one server, CSS 和 Javascript 位于另一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3704597/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com