如何在 restful 控制器中执行操作而不是重定向后进行渲染。
我有一个带有标准操作的控制器,并且我添加了一个特殊操作,通过#show 页面上的一个表单将数据添加到相关资源中(想想帖子上的评论)。我正在验证表单的输入,并希望在错误时重新呈现显示操作并在成功时重定向到显示操作。
我想渲染以防止用户两次输入他们的信息,但是当我尝试在 flash[:notice] 中渲染显示操作时出现错误时,我收到一条错误消息,指出我没有指定 ID。当我指定一个 ID 时,它会尝试呈现一个尚不存在的新模板。
我认为它应该很简单:
def add_comment
if my_validation?
save the object
redirect_to :action => "show", :id => params[:id]
else
render :action => "show", :id => params[:id]
end
end
这不是我的实际代码,只是我刚才作为示例放在一起的东西。