Фабрика не установит пароль и подтверждение пароля - PullRequest
2 голосов
/ 07 июня 2011

Мой User.rb имеет:

attr_accessor :password, :password_confirmation
attr_accessible :password, :password_confirmation

Моя factory_girl для пользователя:

Factory.define :user do |u|

  u.password "my_password"
  u.password_confirmation "my_password"

end

Мой User.rb устанавливает поле encrypted_password при сохранении объекта.

Кажется, что значения, которые я установил на своем заводе (пароли), вообще не устанавливаются.

В моих тестах мне нужно сделать:

it "should ...." do
  user = Factory(:user)

  user.password = "abc123"

end

Почему это так?

У меня есть атрибут пароля и как средство доступа, и как доступный.

Что-то противоречит?

1 Ответ

2 голосов
/ 06 октября 2011

Проблема с вышесказанным, я полагаю, заключается в том, что эти поля attr_accessor не сохраняются в базе данных, поэтому они "теряются" при объявлении в factories.rb.Решением для этого является их явная установка при создании нового объекта из фабрики:

user = Factory(:user, :password => '123')

Также см .:

...