2012-11-26 44 views
0

這裏是具有mongoid 3路 - 一個的has_many B,A的has_many C,B has_manyC

  • 用戶的has_many帖子
  • 用戶的has_many回覆
  • 後的has_many回覆
情況

問題是當我添加新的回覆使用

@reply = current_user.posts.find(params[:post_id]).replies.new(params[:reply]) 

在回帖它不僅節省了post_iduser_idnull,如果我用current_user.replies.new(params[:reply])保存後,我得到user_idpost_id成爲null

那麼如何添加回復有兩個post_iduser_id參考?任何人都有線索!

回答

0

也許你的公會是這樣的:

用戶模型

has_many :posts 
has_many :replies 

郵政型號

belongs_to :user 
has_many :replies 

回覆型號

belongs_to :post 
belongs_to :user 

所以,你可以找到一個帖子:

@post = Post.find(params[:post_id]) 

添加新的回覆後:

@reply = @post.replies.build(params[:reply]) 
@reply.user_id = current_user.id 
@reply.save 
+0

謝謝,我知道這是遙不可及的,但有沒有任何意思的另一種方式,使它更具有動態性,也許可以從模型中設置一些東西? –

+0

你想從模型中設置什麼? – Thanh

+0

也許是一種以更平滑的方式做到這一點的功能 –

相關問題