1

このチュートリアル(特に)に従って、Rails アプリケーションの認証システムをゼロから構築しました。

すべてが意図したとおりに機能しますが、ユーザーが自分のアカウント (およびそれに含まれるすべてのデータ) を破壊するのは依然として簡単です。

class UsersController < ApplicationController

  def destroy
    @user.destroy
    flash[:success] = "Your account has been deleted."
    redirect_to root_path
  end

end

今、私はこれを私のedit見解に持っています:

<%= link_to "Delete own account", @user, :confirm => "Are you REALLY sure?", :method => :delete %>

これを拡張し、ユーザーが自分のアカウントを破壊する前にユーザーのパスワードを要求するRailsの方法は何ですか?

助けてくれてありがとう。

4

1 に答える 1

2

そのためのロジックを追加する必要があります。

これに従ってください:

  1. /(必要なページ) で*using form_for) を作成しdestroy、サインインしているユーザーのパスワードを尋ねます。フォームを何らかのアクションにルーティングします。
  2. 送信されたアクションで、提供されたパスワードに対してユーザーを認証します。一致する場合は を呼び出し@user.destroy、一致しない場合flashはエラーと警告などを呼び出します。
于 2013-10-20T19:26:55.660 に答える