Rails会不会加载管道资产(Rails won't load asset pipeline

2019-08-31 06:41发布

我跑了rake assets:precompile发展的错误,和Rails停在开发装入资产。 我只得到application.jsapplication.css加载。

application.js中:

//= require jquery
//= require jquery_ujs
//= require_tree .

application.css:

*= require_self
*= require_tree .

使用Rails 3.2.2

Answer 1:

尝试从您的本地开发环境删除编制资产:

rm -rf public/assets

编辑:

此外,一定要设置config.assets.compress = falseconfig.assets.debug = true在你development.rb



Answer 2:

TL;博士

  1. $ rake assets:clean
  2. 重新启动服务器导轨$ rails server -e development
  3. 清晰的浏览器缓存,或者做一个ctrl+shift+r应用页面上的

现在,一切都应该是因为它是你跑前rake assets:precompile

- 端TL;博士 -

如果上述方法无效,则步骤的详细列表:

  1. $ rake assets:clean$ rm -rf public/assets删除生成的资产。
  2. 在application.rb中,确保:
    • config.assets.enabled = true (以使导轨的资产pipleline)
  3. 在development.rb,确保:
    • config.assets.compress = false (以便不gzip压缩资产)
    • config.assets.debug = true (以便所有的CSS和JS文件不合并到应用程序。[CS | JS])
    • config.assets.compile = true (或不设置-使资产的运行时编译)
    • config.serve_static_assets = false (或不设置)
  4. 最后,重新启动您的轨道服务器$ rails server -e development

这应该修复它。



Answer 3:

运行rake assets:precompile下生成静态资产public/assets导致的Rails,直接服务于这些。 为了防止这种情况,您可以:

  1. 手动删除这些文件或
  2. 运行rake assets:clean


Answer 4:

开放config/application.rb ,并设置如下:

config.assets.enabled = true



Answer 5:

如果清洁您的资产目录,并确保您的配置是正确的由以前的答案没有工作指示 - 有您使用页面缓存的可能性?

如果用生成的页面src指向你的编译后的文件标签,他们现在需要重新生成。



Answer 6:

柜面是有帮助的人 - 我有一个问题,即既不的application.js /开发的.css加载(我仍然可以看到明显的线条查看源文件时)。

我运行一个老轨3.2.2应用程序由于某种原因,我不得不去,并添加空行既在清单文件(的application.js&application.css),并将它们保存 - 然后开始资产正常工作。

我删除空行,它仍然工作,所以我假设也许它只是需要上的文件较新的修改日期戳。



文章来源: Rails won't load asset pipeline