0

当我更改设置文件时,我想防止自动重新加载我的 settingslogic 设置。我猜想把它放在 Guardfile 中会起作用,但它没有。有任何想法吗?

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

1 回答 1

0

这不起作用有几个原因:

  1. 没有Guard插件guard-settings,所以不能用guard 'settings'
  2. watch 块返回插件需要考虑的转换路径,而不是带有 Ruby 代码的字符串。
  3. 这种方法的另一个问题是,您的项目需要在同一进程中运行,否则重新加载设置不会对您的实际服务器产生影响。

我建议在你的项目中使用Listen(你没有提到它是 Rails,Sinatra,......),比如:

Listen.to('config') do |modified, added, removed|
  Settings.reload!
end.start
于 2013-10-03T07:43:06.693 回答