升级到Rails后资产路径中断4

时间:2013-07-07 12:29:03

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

我已从3.2升级到4.但资产已被破坏。

我一直在使用“assets / img / work / 1.jpg”,但我现在无法以这种方式访问​​它们。我只能使用“assets / img / work / 1-90041f6a6f670bd667cbfb47a50b27d2.jpg”这样的摘要访问,我该怎么办?唯一的方法是使用image_tag?

在CSS和JS文件中使用erb会导致性能问题吗?

2 个答案:

答案 0 :(得分:1)

将RAILS_ENV = production附加到rake资产:预编译将带回CSS中的摘要。

答案 1 :(得分:0)

不幸的是,资产的工作方式在Rails 4中发生了变化,因此sprockets-rails只生成消化资产。有关详细信息,请参阅Changes from Rails 3x

正如this回答中所述,https://github.com/rails/sprockets-rails/issues/49#issuecomment-20535134处有一个佣金任务,如果您需要生成静态资产,这可能会有所帮助。

我无法评论CSS和JavaScript中ERB的性能问题。 rails guide意味着在JS和CoffeeScript中使用ERB是执行所需操作的“Rails方式”。如果您使用的是sass,则可以使用image-url而不是ERB文件。