1
我正在编写我的第一个Rails gem,它向ActiveRecord添加了一个方法。我似乎无法找到一种简单的方法从我添加到ActiveRecord的方法中调用其他方法。我应该使用这种模式吗?访问Ruby模块中的其他方法
module MyModule
def self.included(base)
base.extend(ClassMethods)
end
module ClassMethods
def my_class_method
# This doesn't work
some_utility_method
end
end
def some_utility_method
# Do something useful
end
end
ActiveRecord::Base.send(:include, MyModule)
这就是我的想法。那么......如何从类方法中利用模块中的其他方法?我想将功能分解成更小的块,但只想将一个类方法公开给ActiveRecord。 – 2012-04-18 19:53:20
@MattFordham - 啊,好的。编辑一个解决方案 - 这是怎么回事? – Chowlett 2012-04-18 20:34:43
优秀,正是我需要的。谢谢! – 2012-04-18 20:43:03