【问题标题】:password confirmation is not working in rails 3密码确认在 Rails 3 中不起作用
【发布时间】:2013-03-28 06:56:21
【问题描述】:

我必须为商店提供注册设施。在那里用户必须输入姓名、密码、确认密码。但是当我尝试输入不同的密码进行确认时,它没有显示任何错误并且用户已成功注册。 这是 UserMODEl 中的代码

   class User < ActiveRecord::Base
       attr_accessible :name, :password_digest, :password, :password_confirmation
       validates :name, :presence => true, :uniqueness => true
       validates :password, :presence =>true,  :confirmation =>true
       validates_confirmation_of :password
       has_secure_password 
     end

而我在views/users/_form.html.erb中的代码如下..

 <div class="depot_form">
       <%= form_for(@user) do |f| %>
 <% if @user.errors.any? %>
  <div id="error_explanation">
  <h2><%= pluralize(@user.errors.count, "error") %> prohibited this user from being    saved:</h2>

  <ul>
  <% @user.errors.full_messages.each do |msg| %>
    <li><%= msg %></li>
  <% end %>
  </ul>
  </div>
 <% end %>

     <fieldset>
      <legend>Enter User Details</legend>
        <div >
     <%= f.label :name %>:
       <%= f.text_field :name, :size => 40 %>
      </div>
       <div>
       <%= f.label :password, 'Password' %>:
       <%= f.password_field :password, :size => 40 %>
       </div>
       <div>
       <%= f.label :password_confirmation, 'Confirm Password' %>:
       <%= f.password_field :password_confirmation, :size => 40 %>
       </div>
      <div>
         <%= f.submit %>
          </div>
       </fieldset>

     <% end %>

     </div>

我经历了各种解决方案和修改,但徒劳无功... 请任何帮助..

【问题讨论】:

  • 比看到你的视图更重要的是在这里看到你的控制器代码。

标签: ruby-on-rails validation activerecord


【解决方案1】:

也添加此验证:

   validates :password_confirmation, :presence =>true

确认属性仍然需要存在检查。

阅读 - http://guides.rubyonrails.org/active_record_validations_callbacks.html#confirmation

【讨论】:

    【解决方案2】:

    您应该为此用例使用 devise gem。

    并为设计使用此属性

        devise :database_authenticatable, :registerable, :confirmable, :recoverable,
     :rememberable, :trackable, :validatable
    

    要了解更多关于设计的信息,请点击here

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2021-02-22
      • 2016-12-21
      • 1970-01-01
      • 1970-01-01
      • 2016-12-22
      • 2015-01-06
      • 2021-06-21
      相关资源
      最近更新 更多