0

名前、電子メール、パスワード、および略歴を持つユーザー モデルがあります。

2種類の編集フォームが欲しいです。1 つは電子メール、略歴の編集用、もう 1 つはパスワード用です。

だから私の質問は本当に2つの部分です。

A) update_attributesupdate メソッドで失敗した場合、単に ではなく、正しいページをレンダリングする方法edit。これが私の現在の更新方法です。

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

/users/1/editB) change_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 に答える