Frage

In meinem Rails 2.3.2 app

Ich habe 2 Modelle:

class Post
   has_many :approved_comments, :class_name => 'Comment', :conditions => ['approved => ?', true]
end

class Comment
  belongs_to :post
end

Aus irgendeinem Grund, wenn ich zu eifrig Last von mir versuchen, ich erhalte eine Fehlermeldung

post = Post.find(:first, :conditions => ["permalink=?", permalink], :include => :approved_comments
undefined method `loaded?' for #

Von association_preload.rb Linie 228

Ist das ein bekanntes Problem, oder mache ich etwas falsch oder nicht unterstützt?

Ich scheine eine wenig Diskussion darüber zu finden unter:

Andere Tipps

Sie könnten versuchen, so etwas wie:

class Post
   has_many :approved_comments, :class_name => 'Comment'
end

class Comment
  belongs_to :post
end

und dann so etwas wie:

Post.find(:all, :joins => :approved_comments, :conditions => ["comments.approved = ? AND permalink = ?", true, permalink], :include => :approved_comments)

Damit werden alle Beiträge, die Sie wollen, und dann eifrig Last die Kommentare für sie. obwohl in einem großen Datensatz würde ich davon abraten, es wird langsam sein und ausblasen der Speichergröße der Fahrgast- / Mischlings Instanz.

scroll top