【发布时间】:2014-08-16 10:35:30
【问题描述】:
我的目标是在 Rails 的 ActiveRecord 中实现类似“has_many”的东西。我想了解更多关于类/对象是如何加载的。
当我在下面使用“has_many”时会发生什么?
class Widget < MiniRecord
has_many :trinkets
end
假设这是“MiniRecord”的实现:
class MiniRecord
class << self
def has_many associated_model
@associations[:has_many] << associated_model_sym
end
end
def list_associations
do_stuff(@associations) # Where do I instantiate @associations?
end
end
我已经完成了它的工作,但我有一些杂乱的代码我想删减。
我想了解它是如何工作的,但具体来说,我应该在哪里实例化@associations?
我希望能够在定义类时定义的MiniRecord 的子类中“声明”属性(即静态变量),然后再对这些属性进行操作。
【问题讨论】:
标签: ruby-on-rails ruby activerecord syntax