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

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

但我想当我要安装一个新的gem,我必须。 事情是,我试图让jQuery的工作,所以我厌倦了做rails -s所有的时间。

任何人都可以告诉我什么时候我必须再次运行rails -s当我修改我的应用程序,什么时候我可以负担不这样做? 通过不这样做,我的意思是刷新网页看到的变化。

当需要从头开始重新加载Rails时,您需要重新启动服务器。

如果你正在添加或删除gem,那么是的,你将需要重新启动服务器。

如果你改变你的ruby版本,改变你的Gemfile或者改变Rails的内部类,你需要重新启动它,否则应该没问题。 但是,如果出现意想不到的问题,重新启动服务器是您应该尝试的第一件事。

另外,在附注中,如果config.cache_classes设置为false (我认为是开发的默认设置,而不是生产),则只会看到更改。

编辑:

只是为了确保每个人都会注意到,tadman在评论中说了一个明智之举, 这里的一般经验是对app /或config / routes.rb或db /之外的任何内容进行更改。

在开发中,您需要在以下情况下重启

  • 你在你的Gemfile添加/删除/更新gem。
  • 你也可以通过rvm对ruby环境做一些其他的改变。
  • 你改变了config/下的任何文件,虽然routes.rb是为你重新加载的。
  • 您可以手动更改所需的任何文件,而不是自动加载。

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

  • 你改变任何代码或gem。

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

如果你升级了ruby,或者你改变了一些在启动时运行的逻辑(比如config / boot.rb或者config / database.yml),你通常需要重新启动你的服务器。 否则,即使您编辑/添加模型/控制器,通常也不会。

附注: jquery-rails gem可以使项目的jquery简单易用。