将方法混合到现有模块

时间:2013-06-27 15:44:34

标签: ruby-on-rails gem mixins

我正在使用linkedin模块进行Rails。我想在此模块中为类LinkedIn::Mash添加一个方法。我确实将mash.rb文件添加到/models/concerns(我正在使用Rails 4):

module LinkedIn
    class Mash
        def my_method
        end
    end
end

然而,这不起作用:

my_mash_ojbect.respond_to? :my_method #=> false

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

尝试

LinkedIn::Mash.instance_eval do
  def my_method
  end
end

如果您想了解有关instance_eval的更多信息或阅读metaprogramming ruby​​ book,请查看this