ruby on rails扩展类实例

时间:2017-06-12 15:16:56

标签: ruby ruby-on-rails-4 module

使用ruby 2.2,rails 4.1

我有一个搜索结果类,我想用它来根据搜索类型格式化正确的结果,即全文,关键字等。目前我在结果类中有不同搜索类型的单独模块,每个人都知道如何格式化自己的结果。我想要做的是将原始结果和类型传递给搜索结果初始化方法,并在方法中动态扩展正确的模块。那么实例化搜索结果类的类(在本例中为resultbuilder)调用模块中定义的方法来格式化结果。这需要作为实例方法调用,每个模块中定义相同的方法,因此无论搜索类型如何,resultbuilder都会调用一个方法。

类似的东西:

Class SR
   def initialize(data, type)
      @data = data
      extend type.constantize
   end

   module FullText
      def call
         <format results>
      end
   end
end

我可以使扩展工作,因为我认为我失去了一些东西,因为SR类实例上没有调用方法。

还有其他方法来设置模块吗?他们必须被放入自己的文件中吗?我不想设置可以通过通用调用和结果方法动态使用的模块,从而将详细信息保留在resultbuilder之外。

0 个答案:

没有答案