我注意到,当我更改rails项目文件(如html.erb
或.css
)时,我不必使用rails -s
命令重新启动服务器。我何时需要在Rails中重新启动服务器?
但我想当我想安装一个新的宝石我必须。事情是,我试图让jQuery工作,所以我厌倦了所有的时间做rails -s
。
任何人都可以告诉我什么时候我必须再次运行rails -s
当我修改我的应用程序,什么时候我可以承担不这样做?通过不这样做,我的意思是刷新网页以查看更改。
我注意到,当我更改rails项目文件(如html.erb
或.css
)时,我不必使用rails -s
命令重新启动服务器。我何时需要在Rails中重新启动服务器?
但我想当我想安装一个新的宝石我必须。事情是,我试图让jQuery工作,所以我厌倦了所有的时间做rails -s
。
任何人都可以告诉我什么时候我必须再次运行rails -s
当我修改我的应用程序,什么时候我可以承担不这样做?通过不这样做,我的意思是刷新网页以查看更改。
当你需要从一开始重新加载Rails时,你需要重新启动服务器。
如果你正在添加或删除宝石,那么是的,你将需要重新启动服务器。
如果你改变你的ruby版本,改变你的Gemfile或者改变Rails的内部类,你需要重新启动它,否则它应该没问题。但是如果出现意想不到的问题,重新启动服务器是您应该尝试的第一件事。
此外,在一个侧面说明,你只会看到刚刚刷新如果config.cache_classes
设置为false
页面的变化(我认为这是发展的默认值,但不用于生产)。
编辑:
只是为了确保每个人都会注意到,tadman说,在评论,这里一般的经验法则一个明智的做法是应用程序/或配置/ routes.rb文件之外更改任何东西或db /将需要重启。
好的回答:-) +1 –
这里的一般经验是对'app /'或'config/routes.rb'之外的任何东西进行更改都需要重新启动。 – tadman
无论何时安装或更新gem,如果您升级ruby,或者如果您更改某些启动时运行的逻辑(如config/boot.rb或config/database.yml),您通常都需要重新启动服务器。 。否则,即使您编辑/添加模型/控制器,通常也不会。
附注:jquery-rails gem使jquery添加到项目很容易。
在发展,你需要时重新启动:
Gemfile
删除/更新的宝石。rvm
对ruby环境进行其他更改。config/
下的任何文件,但routes.rb
已为您重新加载。require
的任何文件,而不是自动加载。在生产需要时重新启动:
N.B.如果需要,可以通过编辑相应的environment/<env>.rb
文件来更改这些行为,但默认值是合理的。
可能的重复[如何在开发模式下重新加载每个请求上的宝石?](http://stackoverflow.com/questions/6191635/how-to-reload-a-gem-on-every-request-in -Development-mode) – Nakilon