为什么 define_method 没有在运行时动态定义这些方法?

Why are these methods not dynamically defined at runtime by define_method?

所以我在下面的 Rails 4.2 应用程序中有以下 class,它使用 define_method 来动态定义 class运行时的方法。当我启动 rails 控制台时,它说 Dynamic.kite_flying 和 Dynamic.tail_flying 方法不存在。当我在 Dynamic class?

上调用它们时,是否缺少定义这些方法的内容
class Dynamic
  def self.hello_world
    puts "hello"
  end
  ["kite", "tail"].each do |arg|
    define_method("self.#{arg}_flying") do |word_name, list|
      puts "hello some dynamic #{arg}_flying"
    end
  end

end

define_method 没有定义 class 方法,它定义了实例方法。您希望 define_singleton_method 在上面的代码中定义 class 方法。