首页 > 解决方案 > 如何使用belong_to post和membre在db中创建一个条目评论

问题描述

我有一个模型:评论两个属于一个:post 和其他:membre

我想做def create

使用两个 var@post_id@membre_id

如何继续使用 twoo belongs_to 做一次?

如何放置 var ?

谢谢你的帮助

def create
  @comment = Comment.new(comment_params)

  respond_to do |format|
    if @comment.save
      format.html { redirect_to @comment, notice: 'Comment was successfully created.' }
      format.json { render :show, status: :created, location: @comment }
    else
      format.html { render :new }
      format.json { render json: @comment.errors, status: :unprocessable_entity }
    end
  end
end


def comment_params
  params.fetch(:comment, {})
end

标签: ruby-on-railsrubymodel

解决方案


使用您提供的代码,尝试(我假设 membre_id 是 member_id):

@comment = Comment.new(comment_params)

@comment.member_id = @member_id
@comment.post_id = @post_id

respond_to do |format|
  if @comment.save
  etc...
end

不过,还有更好的方法可以做到这一点。如果你有一个 @member 和 @post 变量,你可以这样做:

@comment.member = @member
@comment.post = @post

但最好的方法是首先包含参数。在用户创建评论的地方,将两个隐藏字段添加到表单中,member_id 和 post_id。这样您就不需要自己手动分配 ID。


推荐阅读