2013-11-24 30 views
7

我有一個Rails 4.1.0可掛載引擎。在發動機的application_helper.rb:如何自動重新加載Rails引擎中的更改?

module MyEngine 
    module ApplicationHelper  
    def test123 
     "test123" 
    end  
    end 
end 

的方法是在虛擬應用程序的視圖general/index.html.erb觀點:

%<= test123 %> 

這工作。但是,當我更改由def test123返回的字符串並刷新瀏覽器時,不顯示新字符串。

當然,在虛擬應用程序中重新啓動Web服務器會顯示新字符串。

所以問題是,如何重新加載引擎的文件,而無需重新啓動Web服務器?

PS。我最好尋找一種方法來使用Rails本身或解決此問題的特定寶石(但不是像Guard,Spork等通用寶石,儘管如果所有其他方法都失敗了,我也會考慮這些)。

PPS。關於這個問題也有類似的問題,但我已經嘗試了所有的(即使它們適用於Rails 2.x,3.x),但它們並沒有爲我工作。

回答

0

你可以使用一些像zeus這樣的東西,它可以幫助你觀察項目文件的變化,除非在某些情況下,當你更改配置文件時它不起作用,需要手動重新啓動。

但總體在大多數情況下,這個作品比真棒

2

更應該明確要求相關助手:

# engines/my_engine/app/controllers/my_engine/application_controller.rb 

require_dependency "my_engine/application_helper" # This is a key point! 

module MyEngine 
    class ApplicationController < ::ApplicationController 
    helper ApplicationHelper 
    ... 
相關問題