No puedo entender por qué el modelo doesen't comprobar la confirmación de la contraseña, este es el código del modelo:validadores, confirmación de la contraseña
class User < ActiveRecord::Base
attr_accessor :password_confirmation
validates :email, :presence =>true,
:uniqueness=>true
validates :password, :presence =>true,
:length => { :minimum => 5, :maximum => 40 },
:confirmation =>true
validates_confirmation_of :password
end
El controlador está destinado toman los datos de la vista e intente realizar un guardado, este es el código de la vista:
<h1>Registration process</h1>
<%= form_for(@new_user) do |f|%>
<% if @new_user.errors.any? %>
<div id="errorExplanation">
<h2><%= pluralize(@new_user.errors.count, "error") %> prohibited this article from being saved:</h2>
<ul>
<% @new_user.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<%= f.label :email %><br />
<%= f.text_field :email %><br />
<%= f.label :password %><br />
<%= f.password_field :password %><br />
<%= f.label :password_confirmation %><br />
<%= f.password_field :password_confirmation %>
<%#TODO Confirm password%>
<%= f.submit 'Join' %>
<%end%>
No se producen errores si la contraseña no coincide.
El código anterior funciona para mí. – Chamnap
¿Necesita la doble confirmación de confirmación? Usted especifica ': confirmation => true' en la validación de la contraseña. – davemyron
Sí ... el código funciona también para mí (como dijo Chamnap) y tener un doble validador de confirmación de contraseña no debería ser la razón para que no funcione. Simplemente le daría dos veces un mensaje "La contraseña no coincide con la confirmación " – Daniel