2013-10-02 47 views
0

當我更改設置文件時,我想警惕自動重新加載我的settingslogic設置。我猜想把它放在Guardfile中可行,但事實並非如此。有任何想法嗎?Settingslog使用後衛自動重新加載

guard 'settings' do 
    watch(%r{^config/.*settings\.yml$}) { "Settings.reload!" } 
end 

回答

0

這不會有幾個原因的工作:

  1. 沒有衛隊插件guard-settings,所以你不能使用guard 'settings'
  2. watch block返回插件需要考慮的轉換路徑,而不是帶有Ruby代碼的字符串。
  3. 此方法的另一個問題是,您的項目需要在相同的過程中運行,否則重新加載設置不會影響您的實際服務器。

我建議利用Listen在您的項目(你不提,如果它的Rails,Sinatra的,...)的東西,如:

Listen.to('config') do |modified, added, removed| 
    Settings.reload! 
end.start 
+0

感謝。 (我正在使用Rails。)我看到我誤解了Guard語法。儘管我必須刪除'.start',但您的解決方案仍然有效。 –