如何在提交表单的页面上呈现验证错误?

时间:2011-06-29 05:58:43

标签: ruby-on-rails-3 validation forms

我在文章/节目页面上有一个评论表。在此页面中,它显示文章并有一个评论表单。

当我提交有验证错误的评论时,我需要它返回文章/节目页面,并在那里显示错误。

我应该将render :action => 'new'更改为其他内容吗?

在评论控制器中,我尝试了:

  def create
    ...

    if @comment.save?
      redirect_to article_path(@comment.article), :notice => "Posted comment!"
    else
      # render :action => 'new'
      render 'articles/show"
    end
  end

但是这会引起抱怨,因为应用程序根据ID不知道要显示哪篇文章。

编辑:我找到了this解决方案。方法是使用会话来传递错误。这是正确的方法吗?

2 个答案:

答案 0 :(得分:4)

试试这个

def create
    ...

    if @comment.save?
      redirect_to article_path(@comment.article), :notice => "Posted comment!"
    else
      # render :action => 'new'
      @article = @comment.article
      render 'articles/show"
    end
  end`

答案 1 :(得分:0)

请修改您的路由,以便应用 根据ID了解要展示的文章。