0

重定向有一个有趣的问题。在我的用户更新页面(在 /username/edit),用户可以更新他们的姓名、电子邮件和用户名。更新完成后,如果用户更新他们的用户名,他们被重定向的路径(在这种情况下,它edit_user_path会导致错误:

Cannot redirect to nil!

我的用户控制器如下所示:

def update
    find_user

    if @user.update_attributes(params[:user])
        sign_in @user
        flash[:success] = "User updated"
        redirect_to edit_user_path
    else
        flash[:notice] = "There was an error updating this user:"
        redirect_to edit_user_path
    end
end

find_user是一种查找方法@user

本质上,一旦发生此更新,我如何强制更新路由?

4

2 回答 2

3

也许尝试:

edit_user_path(@user)
于 2012-06-25T03:55:07.237 回答
1

路由器需要用户 id 才能知道要编辑哪个用户。

redirect_to edit_user_path(@user)
于 2012-06-25T03:56:19.283 回答