应用程序 1 位于服务器 A 上。 应用程序 2 位于服务器 B 上。
应用程序 2 具有预编译资源,一切都运行良好。
现在应用程序 1 希望使用与驻留在服务器 B 上的应用程序 2 相同的 CSS 文件。
有办法实现这个功能吗?
我尝试设置:
config.action_controller.asset_host = "http://assets.example.com"
在应用程序 1 中,但这似乎没有帮助。
当我在应用程序 2 上查看图像时,路径显示带有缓存指纹的 url,如 asset/logo-i3q73498g0.png,而在应用程序 1 中,图像未显示,路径只是 logo.png
谢谢!
最佳答案
这个问题的答案可能是在应用程序之间共享 Assets list 文件。该文件包含原始文件名到其中包含指纹的文件名的映射。
默认位于 public/assets/manifest.yml。我建议您在部署应用程序 2 时添加一个任务以从应用程序 1 获取 Assets list ,并假设应用程序 2 没有任何已编译的 Assets (因为您已更改主机),只需将其用于应用程序。您必须设置配置才能使 App 2 认为它已编译 Assets 。
关于ruby-on-rails - Rails 3.1 - 跨服务器共享预编译资源,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7604559/