2013-03-17 119 views
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 

我有问题,我得到的其他的响应,这意味着我不能将它保存,我不明白为什么,保存电话是什么?

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

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

我只是想知道,如果comment.save调用的方法在我的评论控制器,或不救就救它直接在数据库

回答

1

@comment.save试图您的评论保存到数据库中。如果一切都好,它会保存它,你会写如redirect_to root_path

如果它不能保存它,它会去else子句,在那里你也可以选择重定向到某个地方甚至更好,在你所在的地方渲染视图页并能够写错误日志。

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

+0

会有一种方法来验证保存参数是否正确的某种?作为一个控制台也许? – Jseb 2013-03-17 22:25:58

+0

要了解有关错误的信息,请在末尾使用bang编写save方法=>'save!'。然后,如果记录无效,则会引发异常,您将在页面上看到它。 – Zippie 2013-03-17 22:29:01

+0

谢谢,我会标记它有一个很好的答案 – Jseb 2013-03-17 22:29:35