Ruby on Rails:为什么我会在rails s之后获得javascript和css的消息?

rails s =>

Started GET "/assets/application.css?body=1" for 127.0.0.1 at 2011-10-11 03:37:03 -0900 Served asset /application.css - 304 Not Modified (0ms) Started GET "/assets/home.css?body=1" for 127.0.0.1 at 2011-10-11 03:37:03 -0900 Served asset /home.css - 304 Not Modified (0ms) Started GET "/assets/jquery_ujs.js?body=1" for 127.0.0.1 at 2011-10-11 03:37:03 -0900 Served asset /jquery_ujs.js - 304 Not Modified (0ms) Started GET "/assets/jquery.js?body=1" for 127.0.0.1 at 2011-10-11 03:37:03 -0900 Served asset /jquery.js - 304 Not Modified (0ms) Started GET "/assets/home.js?body=1" for 127.0.0.1 at 2011-10-11 03:37:03 -0900 Served asset /home.js - 304 Not Modified (0ms) Started GET "/assets/application.js?body=1" for 127.0.0.1 at 2011-10-11 03:37:03 -0900 Served asset /application.js - 304 Not Modified (0ms) 

每次页面重新加载时我都会收到这些消息。

我怎么能摆脱这个消息?

正如DGM指出的那样,我能够通过修改development.rb文件来抑制大部分消息,特别是改变:

 config.assets.debug = true 

 config.assets.debug = false 

在开发模式下,它不会缓存javascript或css,而是在每次调用时重新加载它,以便您可以看到所做的更改。

您可以运行另一个环境:

 RAILS_ENV=production rails s 

或者在config / environments / development.rb中设置配置行

 config.action_controller.perform_caching = true 

很多时候,我打开另一个终端窗口,以便通过如下命令控制显示的内容:

 tail -n 99 -f log/development.log| grep -e "^$" -v --line-buffered | grep -v "304 Not Modified" 

这样,我不必关闭调试模式 – 在我开发的时候 – 并且可以更好地控制我从控制台窗口中删除的内容。

在上面的例子中,我选择去除空行( grep -e "^$" -v )和烦人的“服务资产/views.js – 304未修改(0ms)”行( grep -v "304 Not Modified" )。

请注意,我在第一个grep命令中添加了--line-buffered参数,以允许所有尾部输出立即流过管道。