0

这是情况

  • 用户 has_many 帖子
  • 用户 has_many 回复
  • 发布 has_many 回复

问题是当我使用添加新回复时

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

在回复中,它只保存post_idand user_idis null,如果我曾经current_user.replies.new(params[:reply])保存过我得到的帖子,user_idpost_id变成了null

那么如何添加回复以对post_id和都有参考user_id?任何人都有线索!

4

1 回答 1

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
于 2012-11-26T19:45:51.813 回答