Очистить поля пароля, если ошибки - PullRequest
0 голосов
/ 15 мая 2009

У меня есть обычная форма регистрации с virtual_attributes:

attr_accessor :password_confirmation

def password
  @password
end

def password=(password)
  @password=self.crypted_password = User.encrypt(@password=pass, create_new_password_salt)
end

Я хотел бы очистить поля пароля в форме, если в пароле есть ошибки. Я выяснил, как сделать так, чтобы поле пароля не отображалось при ошибке с помощью return, но я не могу понять, как вернуть поле password_confirmation, если в поле пароля есть ошибки.

взгляды просто

<% form_for @user do |f| %>
  <%= f.password_field :password %>
  <%= f.password_field :password_confirmation %>
<% end %>

1 Ответ

3 голосов
/ 15 мая 2009

Мне не совсем понятно, как работает ваша текущая проверка пароля, но как примерно так:

class User < ActiveRecord::Base
  ...
  validate :password_confirmation_matches

  def password_confirmation_matches
    if password != password_confirmation
      errors.add_to_base("You did not correctly confirm your password")
      self.password_confirmation = self.password = nil
    end
  end
end

Будет ли это работать для вас?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...