我正在分析Rails源代码,因为我想了解
到目前为止,我已经找到了方法的实现位置(GitHub链接):它在ActiveRecord :: Associations模块中。
这是我的Ruby技能的瓶颈,我无法继续跟进并找到“new”在哪里实现以及它的作用。希望有人能给出正确的方向,并解释一下其中的内部原理。
has_many
和类似结构的内部工作原理。到目前为止,我已经找到了方法的实现位置(GitHub链接):它在ActiveRecord :: Associations模块中。
def has_many(name, options = {}, &extension)
Builder::HasMany.build(self, name, options, &extension)
end
这个最终以类ActiveRecord::Associations::Builder::CollectionAssociation结束 (Github链接)
def self.build(model, name, options, &extension)
new(model, name, options, &extension).build
end
这是我的Ruby技能的瓶颈,我无法继续跟进并找到“new”在哪里实现以及它的作用。希望有人能给出正确的方向,并解释一下其中的内部原理。