在每个请求之前强制重新加载代码

时间:2016-09-12 15:38:59

标签: ruby-on-rails ruby ruby-on-rails-5

我正在使用Ruby on Rails 5,我想知道如何在每个请求之前强制重新加载代码。我需要这个的原因是我在Mac上使用Docker并且我的代码存在于NFS文件夹中,因此用于检测代码更改的Rails机制不能正常工作,我必须在每次代码更改后重新启动rails。

所以,我的问题是:如何在每次请求之前强制Rails重新加载我的代码?

2 个答案:

答案 0 :(得分:2)

您可以考虑使用rerun gem。这将允许您在代码更改时重新加载机架应用程序。由于Rails基本上是一个复杂的机架应用程序,这应该工作。

这将每次重新加载整个(!)rails应用程序,但它会重新加载。

我目前在葡萄API中使用它,我在这里运行它,你应该能够以同样的方式运行rails应用程序。

bundle exec rerun 'rackup'

PS:您可能还需要其他参数,如端口等。

答案 1 :(得分:0)

Rails 5上的工作解决方案。

您可以使用rerun gem进行以下设置:

gem rerun

中添加Gemfile

使用rerun rails s

启动服务器

以下options可能有用:

  • --dir:允许观看特定目录并在更改时重新加载
  • --background:重新运行不会读取键盘,让您使用byebug等调试器