如何更改Rails编译资产的位置

时间:2015-09-19 12:53:48

标签: ruby-on-rails asset-pipeline

我正在努力将javascript库集成到rails资产管道中。

javascript期望fonts/images/文件夹在根级别可用,但我认为Rails正在将这些文件预编译为assets/fonts/assets/images

我认为是这种情况的原因是因为如果我将fontsimages文件夹直接放入public文件夹,一切正常。

但如果我将fontsimages放在apps/assets/fontsapps/assets/images中,则javascript会为所请求的字体和图片返回404错误。

在Rails配置中是否存在我可以告诉Rails将这些字体和图像文件夹预编译为public/而不是public/assets/

1 个答案:

答案 0 :(得分:0)

您应该在您的情况下使用资产管道帮助程序,尤其是因为指纹字符串将附加到资产的名称。

这样做:

1.将对字体/图像文件的引用更改为

使用asset helper

<%= asset_path 'fontFileNameAndExtension' %>

使用asset image helper

<%= image_path 'imageFileNameAndExtension' %>

2.将.js文件的扩展名更改为.js.erb

3.将js文件的名称包含在application.js

//= require YourJsFileName

4.再次执行预编译,您可能希望首先清理已编译的资源:

rake assets:clobber
rake assets:precompile