【问题标题】:Import module in Rails.application initializer在 Rails.application 初始化器中导入模块
【发布时间】:2021-09-17 23:25:21
【问题描述】:

如何从我的config/initializer 之一的lib/module 中定义的方法中受益?

lib/my_module
----

module MyModule
   def custom_method
      12
   end
end

这样我就可以按如下方式使用了

config/initializer/random_initializer
----

# following imports do not seem to work
# include MyModule
# require 'my_module'
 
Rails.application.configure do
    config.blabla = custom_method
end

【问题讨论】:

    标签: ruby-on-rails ruby module


    【解决方案1】:

    你可以使用module_function

    # lib/my_module
    module MyModule
     def x
      0
     end
     module_function :x
    end
    
    # config/initializer/random_initializer
    require "my_module"
    Rails.application.configure do |config|
     config.blabla = MyModule.x
    end
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-04-05
      • 1970-01-01
      • 2020-10-03
      • 2010-12-27
      • 2010-11-03
      • 1970-01-01
      • 2020-08-09
      • 2020-08-18
      相关资源
      最近更新 更多