- 締切済み
Rubyのパスワード変更画面について
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)
- 専門家の回答
みんなの回答
- ggaogg
- ベストアンサー率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でなかったらごめんなさい。。
お礼
ありがとうございます。 うまくやることができました!