你如何通过反射调用ruby模块方法?

时间:2012-10-01 13:51:50

标签: ruby reflection ruby-1.8

我想让以下工作。我的想法是我可以为路由添加方法,如果它们存在,我可以在以后使用它们。我正在使用Ruby 1.8。

module Routes
  def home
    #stuff
  end

  def work
    #end
  end
end

Routes.method_defined? :home
# true

Routes.send(:home)
#NoMethodError: undefined method `home' for Routes:Module

1 个答案:

答案 0 :(得分:3)

使用以下代码可以执行此操作:

Class.new.extend(Routes).send(:home)