Подтверждение пароля - PullRequest
       8

Подтверждение пароля

0 голосов
/ 14 июля 2011

Как я могу подтвердить подтверждение пароля?Так что пользователь получит ошибку, если пароли не совпадают вместе.Так же, как функция «validates_presence_of» выдает ошибки, если поле пустое.К сожалению, этот код не работает для меня.

<div class="field_left">
  <%= f.label :password, "Password" %><br />
  <%= f.password_field :password %>
</div>
<div class="field">
  <%= f.label :password_confirmation, "Password retry<span>*</span>".html_safe %><br />
  <%= f.password_field :password_confirmation %>
</div>

class User < ActiveRecord::Base
  validates_confirmation_of :password
  attr_accessible :password, :password_confirmation
  attr_accessor :password
end

Может ли кто-нибудь мне помочь?

Заранее большое спасибо!

Ответы [ 5 ]

2 голосов
/ 03 августа 2011

Код из моего приложения, который отлично работает:

class User < ActiveRecord::Base
  validates_confirmation_of :password
  attr_accessible :password, :password_confirmation
  attr_accessor :password
end

Вы должны установить attr_accessor: пароль

1 голос
/ 03 августа 2011

Прежде чем кто-либо сможет правильно ответить на ваш вопрос, вы должны четко объяснить, что не работает. Простое высказывание «не работает» не поможет вам получить нужный ответ. Пожалуйста, четко объясните, что вы ожидаете, а затем объясните, что на самом деле происходит, подкрепив его соответствующей информацией, такой как записи в файле журнала и соответствующий исходный код.

Если вы сможете предоставить эту информацию, я с удовольствием обновлю этот ответ, чтобы указать вам правильное направление.

Обновление

Вам нужен метод аутентификации для вашего пользователя. Есть много способов сделать это, и все зависит от того, как вы шифруете свой пароль. Могу ли я предложить вам посмотреть этот Railscast. Он объясняет один очень хороший способ аутентификации вашего пользователя и является в значительной степени дефолтным способом Rails, используемым многими драгоценными камнями, такими как Devise

http://railscasts.com/episodes/250-authentication-from-scratch

0 голосов
/ 08 августа 2011

Проблема была в том, что я реализовал метод новый так:

@user = User.new (:last_name => params[:user][:last_name], :first_name => params[:user][:first_name] and so on.

Вместо:

@user = User.new(params[:user]

тогда работает с

validates_confirmation_of :password
attr_accessible :password_confirmation
attr_accessor :password
0 голосов
/ 14 июля 2011

Похоже, ваш user.rb не имеет attr_accessor :password_confirmation. Вам понадобится это в дополнение к attr_accessible белому списку.

0 голосов
/ 14 июля 2011

Вы пропали без вести:

attr_accessible :password, :password_confirmation

Фрэнк Близард прав насчет этого

...