我有一个Rails 3.1应用程序,由于某种原因,当我更改CSS时,更改不会显示。我做了bundle exec rake assets:precompile
并且它曾经帮助了一次,但是现在我无论如何都坚持使用旧的CSS。
答案 0 :(得分:14)
由于您的资产现已预编译,因此需要使用以下
进行清理bundle exec RAILS_ENV=development rake rails_group=assets assets:clean
答案 1 :(得分:5)
您可能想尝试rake资产:清理然后耙资产:预编译
答案 2 :(得分:5)
对于我的生产环境,我必须结合上面的一些步骤来重新编译我的资产。
首先我必须这样做:
rake assets:clean
确保我在合适的环境中
然后我需要删除预编译创建的public/assets
目录(或者只删除需要修复的文件,例如application-<hash>.css
)
然后终于重新运行
rake assets:precompile
然后重新启动我的apache服务器(我使用带apache的乘客,未使用nginx进行测试)
答案 3 :(得分:3)
对我来说,只是从公共目录中删除已编译的css / js文件。
事实证明,其他开发者把它放在那里并且不让任何人知道。
答案 4 :(得分:2)
在rails,chrome,mac中对我有用的东西:
1 - 在终端:
rake assets:clean
2 - 在Sublime文本或Finder中:
删除“公开&gt;资产”文件夹
3 - 在终端启动localhost服务器:
rails s
4 - 在chrome:
http://localhost:3000/
5 - 重新加载铬清除缓存(如果相关):
cmd + shift + R
您现在应该可以更新您的css文件,只需重新加载页面即可立即查看您的localhost上的更改
请勿在终端中运行“rake assets:precompile”,因为它会在“public”文件夹中重新创建文件夹“assets”,您将无法看到css文件的更新直接在你的localhost
答案 5 :(得分:0)
如果未来任何Google员工发现此帖子:我在Rails 4.2.8应用程序的测试环境中遇到了同样的问题。以上解决方案均无效。在config.serve_static_files = false
中设置config/environments/test.rb
解决了它。
请记住,这是一个临时修复,因为它会导致public
文件夹中的所有文件不再提供(包括404.html,favicon.ico,robots.txt等)。