【发布时间】:2010-09-25 09:20:20
【问题描述】:
如何在 restful 控制器中执行操作而不是重定向后进行渲染。
我有一个带有标准操作的控制器,我添加了一个特殊操作,通过#show 页面上的一个表单将数据添加到相关资源中(在帖子中思考 cmets)。我正在验证来自表单的输入,并希望在错误时重新呈现显示操作并在成功时重定向到显示操作。
我想渲染以使用户免于输入他们的信息两次,但是当我尝试在 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
这不是我的实际代码,只是我刚才拼凑的一个例子。
【问题讨论】:
标签: ruby-on-rails rest redirect action render