【发布时间】:2015-07-11 02:46:18
【问题描述】:
假设我有模型 Topics 和 Posts,其中一个 Topic has_many :posts 和一个 Post belongs_to :topic。此时我的数据库中已经有一些东西了。
如果我进入 rails 控制台并输入
Topic.find(1).posts
我相信我得到了一个 CollectionProxy 对象。
=> #<ActiveRecord::Associations::CollectionProxy [#<Post id:30, ......>]>
我可以调用 .each 来获取 Enumerator 对象。
=> #<Enumerator: [#<Post id: 30, ......>]:each>
我对 CollectionProxy 如何处理 .each 感到困惑。我意识到它在某个时候被继承了,但我一直在阅读 API 文档,除非我遗漏了一些明显的东西,否则它们并没有很清楚 CollectionProxy 是从什么继承而来的。
【问题讨论】:
标签: ruby-on-rails ruby activerecord rails-activerecord