【问题标题】:Where should an application config overriding method be placed in a Rails gem?应用程序配置覆盖方法应该放在 Rails gem 的什么位置?
【发布时间】:2012-10-26 10:21:36
【问题描述】:

我正在使用我自己的 GEM,它在其初始化程序中定义了一个应用程序 (appA) 配置变量 (varA)。但是,我希望将此变量 (varA) 的值用作默认值,并且我想在 GEM (appA) 中创建一个方法 (metA),它可以覆盖配置变量的值 ( varA)。

我想从使用 GEM (appB) 的应用程序中调用此方法 (metA)。

我应该把方法(metA)放在哪里?

【问题讨论】:

    标签: ruby-on-rails methods scope


    【解决方案1】:

    您可以将配置变量定义为:

    module YourGem
      mattr_accessor :option_a
      @@option_a = "default value"
    end
    

    并在config/initializers/your_gem.rb 中覆盖它:

    YourGem.option_a = "new value"
    

    【讨论】:

    • 什么文件应该是第一个sn-p go?
    • 在您的 Gem 中,我假设它是一个模块。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-09-13
    • 2011-01-03
    • 2022-01-19
    相关资源
    最近更新 更多