Rails 4资产 - 生成两个不同的摘要

den*_*kin 6 ruby-on-rails asset-pipeline

我显然必须在这里做错事.我正在与资产管道(再次)搏斗.我有一个自定义字体,在我看来,要正确编译我需要asset_path()在多个地方使用,但它有一个意想不到的效果.

我知道有几种方法可以做到这一点,但这就是我目前所拥有的:

application.css.scss.erb: @import "<%= asset_path("my-font.css") %>";

my-font.css的源文件是app/assets/stylesheets/my-font.css.erb(它需要是一个.erb因为我也在asset_path()那里使用).

application.rb我添加my-font.css到预编译列表. config.assets.precompile << 'my-font.css'

当我清理public/assets并运行rake assets:precompileEverything的编译时,使用摘要,但应用于实际文件的摘要与计算和输入的摘要不同application.css.

生成的文件 public/assets/my-font-2f25682a1ea904a866ef9f44101a5a2e.csspublic/assets/application-bba2edaee36771f4bdb5c89b8ec90aaf.css引用中是: @import url(/assets/my-font-ed843d3b174ca427edf963e473ad9e9b.css);

我意识到我可能asset_path()比我应该使用更多,并且还通过url()导入文件而不是要求它们,但这让我最接近让事情发挥作用.

我怀疑其中一个摘要是在my-font.css 上通过ERB 之前计算的,另一个是在之后,但我不明白为什么以及如何修复它.

建议?

Ahm*_*rif 6

我猜你只是通过清空来清理你的资产public/assets.这还不够,你还需要清空你的tmp/cache/assets,或者只是跑去rake assets:clobber做两件事.