私の更新ユーザープロファイルフォームでは、最初のフィールドにユーザーに現在のパスワードを入力するよう求められます。彼女がフォームを提出すると、他のフィールドの変更を受け入れる前にパスワードを確認します。現在、ユーザーコントローラでこれをやっているところは次のとおりです。プロファイルを更新するためにパスワードを入力するようにユーザーに要求する
これを行うには良い方法があるように感じます。たとえば、私は、ユーザーモデルで検証に合ったパスワードを作ることができます。その後、formtasticは私のためのエラーメッセージを自動的に処理します(上記の私の醜いフラッシュアプローチとは対照的に)。私は
validate :password_match?, :on => :update
そして
def password_match?
has_password(params[:user][:password])
end
でこれをやってみました。しかし疑いがあるのparamsとしてのモデルからはアクセスできません。
私はこれを行うために20分間SOを検索しましたが、DeviseまたはAuthlogicに関係しなかったものは見つかりませんでした。私は最初から認証をしています(すべてうまくいきます:サインイン、セッションなど)。
よろしくお願いいたします。
あなたは(https://github.com/plataformatec/devise)[考案]使用したい場合は、これは[編集ユーザー登録ビュー](HTTPSであなたのために内蔵されるだろう:// githubの。 com/plataformatec/devise/blob/master/app/views/devise/registrations/edit.html.erb#L15) – Zabba
次回は、必ずdeviseを使用します。私は最近Railsを学び、ゼロから認証を構築するチュートリアルに従った。私は以来、私のプロジェクトのためにそのコードを取り組んできました。 –