我在我的控制台中运行了命令rake assets:precompile
,当我转到localhost:3000时,我的样式表在我的application.css文件中停止编译...
之前,在开发模式下一切都很完美:编写样式表,在application.css文件中需要它,然后查看我视图中显示的样式。所以资产管道“习惯”工作。
我尝试使用SOF上的其他答案使其工作(并失败):
config.assets.enabled = true
我添加了以下内容:
config.serve_static_assets = false
以便Rails不会在public / assets文件夹中查找我的样式表config.assets.compress = false
config.assets.debug = true
查看正在加载的css的痕迹config.assets.compile = true
我删除了在运行public/assets
后创建的rake assets:precompile
文件夹 - 删除文件夹的另一种方法是运行命令bundle exec rake assets:clobber
,但这并没有解决问题
tmp/cache
文件夹无济于事......
我也有以下设置
application.html.erb
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track' => true %>
application.css
* =自我要求
* = require_tree。
* =需要自定义
* =需要侧边栏
* = require flags / basic
* = require flags / flags16
* = require flags / flags32
* = require font-awesome.min
在浏览器的application.css中我看到了:
为什么我的rake assets:precompile
会在开发模式下破坏我的资产管道?在此先感谢您的帮助,我花了至少5个小时试图解决这个问题并相信我已尽我所能找到解决方案......
答案 0 :(得分:6)
预编译资产将取代未编译的资产。记录的清除方法是bundle exec rake assets:clobber
。在Rails 3中,所有这一切都是删除assets
文件夹。也许在Rails 4中它更广泛(我没有在这里安装测试)。试一试。
请注意,如果您使用了以下环境限定符:
RAILS_ENV=production bundle exec rake assets:precompile
要预编译,请使用相同的限定符来删除。
然而,另一件可以打败你的是浏览器缓存。从浏览器缓存中清除所有。理想情况下尝试完全不同的浏览器。我浪费了一天,想知道Safari需要选择 Safari | 重置... 以清除所有内容。
答案 1 :(得分:0)
删除您的公共/资产文件并重新启动服务器,您将重新启动并运行资产:在
之后再次预编译