2011-07-14 5 views
0

Как подтвердить подтверждение пароля? Чтобы пользователь получил ошибку, если пароли не совпадают друг с другом. То же, что функция «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 

Может мне помочь?

спасибо, что заблаговременно!

+0

какой ошибки вы получаете – tmaximini

+0

я не получаю ошибки, но она просто не работает. – shub

+2

попробуйте «attr_accessible: password,: password_confirmation» – tmaximini

ответ

0

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

@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

У вас не хватает:

attr_accessible :password, :password_confirmation 

откровенны Blizard прав об этом

+0

Я пробовал его с помощью «attr_accessible: password,: password_confirmation», но он все еще не работает. – shub

0

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

+0

Он все еще не работает. Что я делаю не так? – shub

+0

Обновите свой текущий код в вопросе вместе со специфической ошибкой, которую вы видите. –

1

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

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

Update

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

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

+0

Я обновил текст.Надеюсь, теперь это понятно. Спасибо! – shub

+0

@Shub Я обновил свой ответ, надеюсь, что поможет – jamesc

+0

@shub Мое обновление имеет смысл для вас? – jamesc

2

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

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

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

Смежные вопросы