Tôi không thể hiểu tại sao mô hình doesen't kiểm tra xác nhận mật khẩu, đây là mã của mô hình:Validators, xác nhận mật khẩu
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
Bộ điều khiển được thiết kế lấy dữ liệu từ quan điểm và cố gắng thực hiện lưu, đây là mã của chế độ xem:
<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%>
Không có lỗi nào xuất hiện nếu mật khẩu không khớp.
Mã trên đây làm việc cho tôi. – Chamnap
Bạn có cần xác thực xác nhận kép không? Bạn chỉ định ': confirmation => true' trong quá trình xác nhận của mật khẩu. – davemyron
Vâng ... mã cũng hoạt động cho tôi (như Chamnap đã nói) và có một trình xác nhận mật khẩu kép không phải là lý do nó không hoạt động. Nó chỉ cung cấp cho bạn hai lần một thông báo "Mật khẩu không khớp xác nhận " – Daniel