Cargo-culting isn''t working...
User:
attr_reader :password # Virtual attribute
validates_presence_of :username
validates_uniqueness_of :username
attr_accessor :password_confirmation
validates_confirmation_of :password
& etc from AWDR with use of a hashed password
UserController:
def change_password
user = User.find(session[:user_id])
if request.post?
opw = params[:user][:old_password]
npw = params[:user][:password]
if user.verify_password(opw) and opw != npw
user.password = npw
user.save
else
flash.now[:notice] = "Bad Password"
end
end
end
change_password.rhtml:
<div class="CapPlanner-form">
<%= error_messages_for ''user'' %>
<fieldset>
<legend>Changing Password</legend>
<% form_for :user do |form| %>
<p>
<label for="user_old_password">Old Password:</label>
<%= form.text_field :old_password, :size => 40 %>
</p>
<p>
<label for="user_password">Password:</label>
<%= form.text_field :password, :size => 40 %>
</p>
<p>
<label
for="user_password_confirmation">Confirm:</label>
<%= form.text_field :password_confirmation, :size => 40 %>
</p>
<%= submit_tag "Change Password", :class =>
"submit" %>
<% end %>
</fieldset>
</div>
I''m reasonably certain that validates_confirmation_of is not being
invoked, but I have no idea why. Assigning user.password_confirmation
does not help. The parameters are coming in just fine.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups
"Ruby on Rails: Talk" group.
To post to this group, send email to
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---