如何更改asset_path的位置?

时间:2013-11-09 20:26:05

标签: ruby-on-rails nginx ruby-on-rails-4 asset-pipeline

我正在使用CDN,我有static.example.com的CNAME指向rails public/assets文件夹。

问题是我正在使用Nginx创建该子域,并且因为它使用assets文件夹作为其根目录,所以资产现在存储在:

static.example.com/hi.jpg

但是asset_path希望查看static.example.com/assets/hi.jpg

我不想更改资产编译位置的位置或物理上改变资产管道当前工作方式的任何内容 - 我只想在调用资产时指​​定新的“root”前缀。

或者,我正在考虑如何使用nginx“链接”上面的这两条路径,这样当他们访问/assets/hi.jpg时,它实际上会查看/hi.jpg,尽管我不确定如何使用Nginx做到这一点。

无论哪种解决方案,我都会好的..谢谢你们。

1 个答案:

答案 0 :(得分:2)

您可以通过config.assets.prefix设置网址路径,并使用config.assets.paths配置资源查找位置。

来自configuring assets的指南:

  

config.assets.paths包含用于查找资产的路径。添加此配置选项的路径将导致这些路径用于搜索资产。

     

config.assets.prefix定义服务资产的前缀。默认为/ assets。