我在Rails 3.1中有一个应用程序,当我在application.css中进行任何更改时,所以这些更改不会应用在页面上。Rails 3.1 - 如何更新CSS样式
在Rails 3中,这里还有别的东西吗?
我在Rails 3.1中有一个应用程序,当我在application.css中进行任何更改时,所以这些更改不会应用在页面上。Rails 3.1 - 如何更新CSS样式
在Rails 3中,这里还有别的东西吗?
您是否在生产模式下运行应用程序?如果是这样的话,你需要预编译这些资源(rake assests:预编译)并重启你的web服务器。
从Rails 3.1开始,编译资产被写入config.assets.prefix
中指定的位置。您必须在部署过程中或在本地主机上使用下面的任务,如果你没有写访问您的文件系统生产:
bundle exec rake assets:precompile
你可以配置你的应用程序更快的资产预编译。为此,可以通过在config/application.rb
中将config.assets.initialize_on_precompile
设置为false来部分加载应用程序。但是,您应该注意,在这种情况下,模板无法看到应用程序对象或方法。 Heroku要求将它设置为false,所以如果你在那里运行你的应用程序,你应该这样做。
我如何撤销此操作?我应用了它,现在我需要运行这个每次更新我的CSS在开发模式 –
我想我自己找到了答案。我只需从公共目录中的资产文件夹中删除编译的资产。请纠正我,如果这是错误的:) –
是的。我也必须做同样的事情。 – Simpleton
我也偶然发现了这一点。
稍微戳动一下就会发现,当您运行rake资产时:precompile,作为其进程的一部分,它会将application.css文件写入公用文件夹。
看来,它是公用目录中的application.css,它将在后续请求上提供服务,而不是您正在处理的资产文件夹中的服务。
如果删除公共目录中的application.css文件,则在重新加载页面时应该能够看到对CSS的更新。
我希望有帮助。
您是否在使用资产管道? –