遵循Agile Web Development一书中的一些代码,有一种方法可以使用redirect_to(:back)重定向回最后查看的页面,但是当我这样做时,它只返回它所在的页面。
获得所需结果的最佳方法是什么?难道我做错了什么?我的代码:
def update
@user = current_user
if @user.update_attributes(params[:user])
flash[:notice] = "Successfully updated profile."
redirect_to(:back)
else
render :action => 'edit'
end
end
答案 0 :(得分:8)
我认为它表现得as intended:
:返回 - 返回发出请求的页面。适用于从多个地方触发的表单。
答案 1 :(得分:1)
这不是应该做的吗? 当您单击某种“提交”按钮来更新用户属性时,您可能正在编辑页面。完成此更新后,:返回将返回编辑页面(这是最后查看的页面)。不是你想要的吗?
如果你想进入用户页面,你可以做这样的事情
redirect_to user_path(@user)