0

我正在创建一篇文章,但如果用户想要,它将创建一个评论,根据一个 text_field_tag 决定用户决定与否。该评论与当前文章无关

在控制器中, event.create 我有以下逻辑

  @comment = Comment.new
  @comment.article_id = params[:decide].to_i
  @comment.customer_id = current_customer.id
  @comment.description = params[:description]
  respond_to do |format|
    if @comment.save
    else
    end
  end

我遇到的问题是我得到了 else 的响应,这意味着我无法保存它,而且我不明白为什么,保存调用是什么?

我还注意到评论创建选项在每个操作中都有默认行。

@article= Article.find(params[:event_id])

我只是想知道 comment.save 是在我的评论控制器中调用一个方法,还是 save 只是将它直接保存到数据库中

4

1 回答 1

1

@comment.save尝试将您的评论保存到数据库中。如果一切正常,它将保存它,您将编写类似redirect_to root_path.

如果它无法保存它,它将转到该else子句,您还可以选择重定向到某个地方甚至更好,在您所在的位置呈现视图页面并能够编写错误日志。

它不会被保存的原因之一是它没有得到正确的参数或者它没有通过一些验证。

于 2013-03-17T22:22:19.357 回答