如何在Rails引擎中自动重新加载更改?

Zab*_*bba 9 rails-engines ruby-on-rails-4

我有一个Rails 4.1.0可安装的引擎.在引擎的application_helper.rb中:

module MyEngine
  module ApplicationHelper    
    def test123
      "test123"
    end    
  end
end
Run Code Online (Sandbox Code Playgroud)

该方法位于虚拟应用程序的general/index.html.erb视图中:

%<= test123 %>
Run Code Online (Sandbox Code Playgroud)

这有效.但是,当我更改返回的字符串def test123并刷新浏览器时,不会显示新字符串.

当然,在虚拟应用程序中重新启动Web服务器会显示新字符串.

所以问题是,如何在不重新启动Web服务器的情况下重新加载引擎的文件?

PS.我最好找一种方法来使用Rails本身,或者解决这个问题的特定宝石(但不是像Guard,Spork等通用宝石,尽管如果所有其他方法都失败了,我也会考虑这些.)

PPS.在SO上也有类似的问题,但我已经尝试过所有这些问题(即使它们适用于Rails 2.x,3.x),但它们并没有为我工作.

a14*_*14m 0

您可以使用像zeus这样的东西,它在监视项目文件的更改方面有很大帮助,但在某些情况下,当您更改配置文件时,它不起作用并且需要手动重新启动。

但总体而言,在大多数情况下,这不仅很棒