Ich habe die folgenden Modelle mit aktiver Datensatz 4 (Abbildung eine alte Datenbank)Schleife durch Active :: Verbände :: CollectionProxy mit jedem
class Page < ActiveRecord::Base
self.table_name = "page"
self.primary_key = "page_id"
has_many :content, foreign_key: 'content_page_id', class_name: 'PageContent'
end
class PageContent < ActiveRecord::Base
self.table_name = "page_content"
self.primary_key = "content_id"
belongs_to :pages, foreign_key: 'page_id', class_name: 'Page'
end
Die folgende funktioniert gut eingerichtet ....
page = Page.first
page.content.first.content_id
=> 17
page.content.second.content_id
=> 18
jedoch möchte ich Schleife in der Lage sein, obwohl alle Elemente wie so
page.content.each do |item|
item.content_id
end
aber es einfach die whol zurück e Sammlung nicht die einzelnen Feld
=> [#<PageContent content_id: 17, content_text: 'hello', content_order: 1>, #<PageContent content_id: 18, content_text: 'world', content_order: 2>]
scheint es, ist ein Activerecord :: Verbände :: CollectionProxy
page.content.class
=> ActiveRecord::Associations::CollectionProxy::ActiveRecord_Associations_CollectionProxy_PageContent
jemand irgendwelche Ideen hat?
prost
Warum funktioniert page.content.each dann nicht? – MSC
@MSC In diesem Fall wird es nicht funktionieren, da OP die Ergebnisse des Aufrufs innerhalb des Blocks zurückgeben möchte. 'Jeder' würde das nicht tun. –