我在开发时误跑rake assets:precompile了,Rails 在开发时停止加载资产。我只得到application.js并application.css加载。
应用程序.js:
//= require jquery
//= require jquery_ujs
//= require_tree .
应用程序.css:
*= require_self
*= require_tree .
使用 Rails 3.2.2
我在开发时误跑rake assets:precompile了,Rails 在开发时停止加载资产。我只得到application.js并application.css加载。
应用程序.js:
//= require jquery
//= require jquery_ujs
//= require_tree .
应用程序.css:
*= require_self
*= require_tree .
使用 Rails 3.2.2
尝试从本地开发环境中删除已编译的资产:
rm -rf public/assets
编辑:
config.assets.compress = false此外,请确保config.assets.debug = true在您的development.rb.
tl;博士
$ rake assets:clean$ rails server -e developmentctrl+shift+r在应用页面上执行现在一切都应该和你跑之前一样rake assets:precompile
-- 结束 tl;博士 --
如果上述方法不起作用,那么详细的步骤列表:
$ rake assets:clean或$ rm -rf public/assets删除生成的资产。config.assets.enabled = true(启用 Rails 的资产管道)config.assets.compress = false(以免压缩资产)config.assets.debug = true(以免将所有 css 和 js 文件合并到应用程序中。[cs|js])config.assets.compile = true(或未设置 - 启用资产的运行时编译)config.serve_static_assets = false (或未设置)$ rails server -e development这应该解决它。
打开config/application.rb并设置以下内容:
config.assets.enabled = true
运行会rake assets:precompile生成静态资源,在这些资源下public/assets,Rails 会直接为这些资源提供服务。为了防止这种情况,您可以:
rake assets:clean如果清理您的资产目录并确保您的配置正确,如前面的答案所示不起作用 - 您是否有可能使用页面缓存?
如果生成的页面带有src指向已编译文件的标签,则现在需要重新生成它们。
万一这对任何人都有帮助-我遇到了一个问题,即在开发中都没有加载 application.js/.css (查看源代码时我仍然可以看到清单行)。
由于某种原因,我正在运行一个旧的 rails 3.2.2 应用程序,我不得不进入并在清单文件(application.js 和 application.css)中添加空白行并保存它们 - 然后资产开始正常工作。
我删除了空白行,它仍然有效,所以我假设它可能只是需要在文件上更新修改的日期戳。