Rails: Bestes Assoziationsmodell für Benutzer -> Beiträge -> Kommentarmodell in einer Art Forum-Website?

Ich erstelle eine Forum-Website, auf der jeder registrierte Benutzer viele Beiträge schreiben kann und
Jeder Beitrag kann viele Kommentare enthalten.
Auch jeder Benutzer kann Kommentare zu Beiträgen abgeben, die von einem anderen Benutzer erstellt wurden.

      has_many              has_many
user ------------> Posts -------------- > Comments  
  |                                          ^
  |                                          |   
  |               has_many                   |
  |-------------------------------------------          
      belongs_to
Post ------------> User
  ^                 ^ 
  |                 |
  |                 |
  belongs_to     belongs_to
  |                 |
  |                 |
Comments-------------  

Ich kann die Benutzerdetails eines Kommentars nicht mit "post.comment.user" oder @ abrufe
commenter_email = comments.user.email
Wie kann man das erreichen?
Pasting meine Modelle als Referenz: -

class Comment < ActiveRecord::Base  
belongs_to :post  
belongs_to :user  
end  
class Post < ActiveRecord::Base  
  has_many :comments, :dependent => :destroy  
end  
class User < ActiveRecord::Base  
  devise :database_authenticatable, :registerable,  
     :recoverable, :rememberable, :trackable, :validatable  
  attr_accessible :email, :password, :password_confirmation, :remember_me   
  has_many :posts  
  has_many :comments  
end   

Hier mein Schema: -

create_table "comments", :force => true do |t|  
t.integer  "post_id"  
t.integer  "user_id"  
t.text     "comment_text"  
t.datetime "created_at"  
t.datetime "updated_at"  
end  

create_table "posts", :force => true do |t|  
t.integer  "user_id"  
t.integer  "sell_or_buy"  
t.string   "title"  
t.text     "body"  
t.datetime "created_at"  
t.datetime "updated_at"  
end  

create_table "users", :force => true do |t|  
t.string   "email",  
t.string   "encrypted_password",
t.datetime "created_at"  
t.datetime "updated_at"  
end 

Ich verwende Rails 3.0.1.
Bitte schlagen Sie Ihre Gedanken vor.

Antworten auf die Frage(2)

Ihre Antwort auf die Frage