【问题标题】:Settingslogic automatic reload using guardSettingslogic 使用守卫自动重新加载
【发布时间】:2013-10-02 12:38:18
【问题描述】:

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

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

【问题讨论】:

    标签: ruby-on-rails guard settingslogic


    【解决方案1】:

    这不起作用有几个原因:

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

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

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

    【讨论】:

    • 谢谢。 (我正在使用 Rails。)我发现我误解了 Guard 语法。您的解决方案有效,但我不得不删除“.start”。
    猜你喜欢
    • 2020-12-31
    • 2017-07-26
    • 2013-04-11
    • 2013-05-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多