我正在阅读一些使用rails 4中关注点的代码。
我读了一些文章说,如果我们想包括类方法
使用moduleClassMethods
,但我读到的代码类似于:
class_methods do
def ****
end
end
最佳答案
只是为了方便。module ClassMethods
是纯红宝石,但为了方便起见,class_methods
中定义了ActiveSupport::Concern
。如果你看一个源代码,你会发现class_methods
做了完全相同的事情
# activesupport/lib/concern.rb
def class_methods(&class_methods_module_definition)
mod = const_defined?(:ClassMethods, false) ?
const_get(:ClassMethods) :
const_set(:ClassMethods, Module.new)
mod.module_eval(&class_methods_module_definition)
end
关于ruby-on-rails - class_methods在关注方面做什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/33326257/