0

我有一个包含姓名、电子邮件、密码和简历的用户模型。

我想要两种编辑表单。一个用于编辑电子邮件、简历,另一个用于密码。

所以我的问题实际上是两个部分。

A)如果update_attributes更新方法失败,如何呈现正确的页面,而不是仅仅edit. 这是我目前的更新方法。

def update
  if @user.update_attributes(params[:user])
    flash[:success] = "Profile updated"
    sign_in @user
    redirect_to @user
  else
    render 'edit'
  end
end

B)我如何拥有类似于/users/1/editchange_password 方法的路线?所以我想要类似的东西/users/1/change_password


B)match '/users/:id/change_password', to: 'users#change_password'完成了这项工作。

4

1 回答 1

1

redirect_to edit_user_path(@user)

应该管用。

另外,我会将您的 change_password 路由更改为:

resource :users do
  member do
    put 'change_password'
  end
end

这是一种更符合 Rails 的做事方式。然后,你可以做

redirect_to change_password_user_path(@user)

于 2012-07-10T03:57:11.893 回答