Ruby on rails Rails赢得';t加载资产管道
我在开发时错误地运行了Ruby on rails Rails赢得';t加载资产管道,ruby-on-rails,asset-pipeline,assets,Ruby On Rails,Asset Pipeline,Assets,我在开发时错误地运行了rakeassets:precompile,Rails在开发时停止加载这些资产。我只加载了application.js和application.css application.js: //= require jquery //= require jquery_ujs //= require_tree . application.css: *= require_self *= require_tree . 使用Rails 3.2.2运行rake资产:precompile在
rakeassets:precompile
,Rails在开发时停止加载这些资产。我只加载了application.js
和application.css
application.js:
//= require jquery
//= require jquery_ujs
//= require_tree .
application.css:
*= require_self
*= require_tree .
使用Rails 3.2.2运行rake资产:precompile在public/assets下生成静态资产,使Rails直接为这些资产服务。要防止这种情况,您可以:
rake资产:清理
尝试从本地开发环境中删除已编译的资产:
rm-rf公共/资产
编辑:
此外,确保在
development.rb
中设置config.assets.compress=false
和config.assets.debug=true
,并设置以下内容:
config.assets.enabled=true
如果清理资产目录并确保配置正确(如前面的答案所示)不起作用-是否有可能使用页面缓存
如果页面生成时带有指向编译文件的src
标记,则需要立即重新生成这些标记。tl;博士
$rake资产:清理
$rails服务器-e开发
ctrl+shift+r
rakeassets:precompile
--末端tl;博士--
如果上述操作不起作用,请提供详细的步骤列表:
$rake assets:clean
或$rm-rf public/assets
删除生成的资产
(启用rails的资产管线)config.assets.enabled=true
(以避免gzip资产)config.assets.compress=false
(以避免将所有css和js文件合并到应用程序中。[cs|js])config.assets.debug=true
(或未设置-启用资产的运行时编译)config.assets.compile=true
(或未设置)config.service\u static\u assets=false
$rails服务器-e开发
这应该可以解决它。如果它对任何人都有帮助的话-我遇到了一个问题,在开发过程中没有加载application.js/.css(在查看源代码时,我仍然可以看到清单行) 我运行的是一个旧的rails 3.2.2应用程序,出于某种原因,我不得不进入并在清单文件(application.js和application.css)中添加空行并保存它们,然后资产开始正常工作
我删除了空白行,它仍然有效,所以我假设可能只需要在文件上更新一个日期戳。
它们不是用<代码> SRC < /Cord>标签生成的。它也没有使用页面缓存,我已经尝试删除所有缓存。你能发布你的config/application.rb
和config/environments/development.rb
文件吗?这将使追踪您的问题变得更加容易。@macool您能看看下面的()并看到它对您有效吗?