我在文章/节目页面上有一个评论表。在此页面中,它显示文章并有一个评论表单。
当我提交有验证错误的评论时,我需要它返回文章/节目页面,并在那里显示错误。
我应该将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解决方案。方法是使用会话来传递错误。这是正确的方法吗?
答案 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了解要展示的文章。