我什么时候需要在Rails中重启服务器?

Rad*_*eve 43 ruby ruby-on-rails

我注意到当我更改rails项目文件(例如html.erb或)时.css,我不必使用该rails -s命令重新启动服务器.

但我想当我想安装一个新宝石时,我必须这样做.问题是我正在努力让jQuery工作,所以我厌倦了一直这样做rails -s.

任何人都可以告诉我,rails -s当我修改我的应用程序时,我什么时候必须再次运行?何时我可以负担不起?如果不这样做,我的意思是只需刷新网页即可查看更改.

Doo*_*dad 59

当您需要从一开始就重新加载Rails时,需要重新启动服务器.

如果您要添加或删除gem,那么是的,您将需要重新启动服务器.

如果你改变你的ruby版本,更改你的Gemfile或从Rails的内部类改变一些东西,你需要重新启动它,否则它应该没问题.但是如果出现意外问题,重启服务器是你应该尝试的第一件事.

另外,在侧面注释中,如果config.cache_classes设置为false(我认为是开发的默认设置,而不是生产版),您将只看到刷新页面的更改.

编辑:

为了确保每个人都注意到,tadman在评论中说了一句明智的事情,这里的一般经验法则是对app /或者/ routes之外的任何内容进行更改.rb或db /将需要重新启动.

  • 这里的一般经验法则是对`app /`或`config/routes.rb`之外的任何内容进行更改将需要重新启动. (11认同)

tho*_*edb 17

在开发中,您需要在以下时间重启:

  • 你可以添加/删除/更新你的宝石Gemfile.
  • 您可以通过以下方式对ruby环境进行其他更改rvm.
  • 您可以更改下面的任何文件config/,尽管routes.rb会为您重新加载.
  • 您可以require手动更改任何文件,而不是自动加载.

在生产中,您需要重新启动时:

  • 您可以更改任何代码或宝石.

注意environment/<env>.rb如果需要,可以通过编辑相应的文件来更改这些行为,尽管默认值是合理的.