締切済み

Rubyのパスワード変更画面について

  • 困ってます
  • 質問No.4923875
  • 閲覧数311
  • ありがとう数11
  • 気になる数0
  • 回答数1
  • コメント数0

お礼率 100% (2/2)

rubyでのプログラム作成についての質問です。
パスワードの変更画面を作成したいのですが、作り方がよくわかりません。

会社でrubyを使用したプログラム作成を命じられましたが、社内にrubyを使用できる人がいないので質問できず困っています。
パスワードを変更する際に、パスワードの入力と確認用パスワードの入力をして、
双方が一致したらパスワードを変更、双方が不一致ならエラーメッセージを表示するようにしたいのですが、どうしたらいいのでしょうか。

現在、コントローラ内は以下のようになっています。
def new
@user = User.new
respond_to do |format|
format.html # new.html.erb
format.xml { render :xml => @user }
end
end
def create
@user = User.new(params[:user])
if(params[:password]!=params[:password_confirm]) ←ここでパスワードと確認用パスワードをチェック?
flash[:notice] = 'パスワードが間違っています。'
redirect_to:back
return
end
respond_to do |format|

if @user.save
flash[:notice] = 'User was successfully created.'
format.html { redirect_to(@user) }
format.xml { render :xml => @user, :status => :created, :location => @user }
else
format.html { render :action => "new" }
format.xml { render :xml => @user.errors, :status => :unprocessable_entity }
end
end
end

パスワードチェックをしているつもりはあるのですが、パスワードと確認用パスワードが違っていても現在は登録処理がされてしまいます。どうしたらいいのでしょうか。
大変困っているのでどなたか教えてください。

回答 (全1件)

  • 回答No.1

ベストアンサー率 43% (38/88)

質問者さんのプログラムを見ると、Ruby on Railsを使用されているように見えますので、RoRであることを前提に回答します。

検証プログラムを自作する前に、RoRには、入力値を検証するヘルパーがあるので、今回の内容だと、validates_confirmation_of
ヘルパーを使用するべきです。RoRは初心者にはほんとわかりづらいですが、validates_confirmation_ofヘルパの説明への直リンク載せておきます。
http://guides.rubyonrails.org/activerecord_validations_callbacks.html#validates-confirmation-of

もしRoRでなかったらごめんなさい。。
お礼コメント
nanasejp

お礼率 100% (2/2)

ありがとうございます。
うまくやることができました!
投稿日時 - 2009-05-04 19:26:20
結果を報告する
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。
関連するQ&A
AIエージェント「あい」

こんにちは。AIエージェントの「あい」です。
あなたの悩みに、OKWAVE 3,600万件のQ&Aを分析して最適な回答をご提案します。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する

ピックアップ

ページ先頭へ