假設我有模型主題和帖子,其中主題has_many:帖子和帖子belongs_to:主題。此時我的數據庫中已經有了一些東西。ActiveRecord :: Associations :: CollectionProxy獲取.each實例方法在哪裏?
如果我進入軌道控制檯,然後輸入
Topic.find(1).posts
我相信我得到一個CollectionProxy對象。
=> #<ActiveRecord::Associations::CollectionProxy [#<Post id:30, ......>]>
我可以調用.each這個來獲得一個Enumerator對象。
=> #<Enumerator: [#<Post id: 30, ......>]:each>
我很困惑,因爲CollectionProxy是如何處理.each的。我意識到它在某些時候被繼承了,但我一直在閱讀API文檔,並且他們沒有清楚的知道CollectionProxy是從哪裏繼承的,除非我遺漏了一些明顯的東西。
This page似乎並沒有告訴我很多,而且也不this page。