0

状況はこちら

  • ユーザー has_many 投稿
  • ユーザー has_many 返信
  • has_many の返信を投稿する

問題は、新しい返信を追加するときです

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

返信では、post_idとが保存されるだけで、投稿を保存していた場合は取得しますが、user_idnullcurrent_user.replies.new(params[:reply])user_idpost_idnull

では、 との両方を参照するように返信を追加する方法post_iduser_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 に答える