gpt4 book ai didi

ruby-on-rails - 为什么这些方法不是在运行时通过 define_method 动态定义的?

转载 作者:数据小太阳 更新时间:2023-10-29 09:03:19 25 4
gpt4 key购买 nike

所以我在 Rails 4.2 应用程序中有以下类,它使用 define_method 在运行时动态定义类方法。当我启动 Rails 控制台时,它说 Dynamic.kite_flying 和 Dynamic.tail_flying 方法不存在。当我在 Dynamic 类上调用它们时,是否缺少定义这些方法的内容?

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 不定义类方法,它定义实例方法。您希望 define_singleton_method 在上面的代码中定义类方法。

关于ruby-on-rails - 为什么这些方法不是在运行时通过 define_method 动态定义的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29996842/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com