Я использую гемы Ruby on Rails 3.1.0, rspec-rails 2
и Factory
.У меня есть некоторые проблемы, связанные с процессом проверки, когда я указываю объект Factory для класса Account
.
В файле модели у меня есть:
class Account < ActiveRecord::Base
belongs_to :user
attr_accessible :name, ..., :password
validates :name,
:presence => true
...
validates :password,
:presence => true
end
В файле фабрики, который у меня есть:
FactoryGirl.define do
factory :account, do
sequence(:name) { |n| "Foo #{n}"}
...
password 'psw_secret'
association :user
end
factory :user do
auth 'registered'
end
end
Когда в файле спецификации я указываю let!(:account) { Factory(:account) }
, он работает как положено, но при использовании следующего:
let!(:user) { Factory(:user, :account => Factory(:account)) }
Я получаю эту ошибку:
Failure/Error: let!(:user) { Factory(:user, :account => Factory(:account)) }
ActiveRecord::RecordInvalid:
Validation failed: Account password can not be blank, Account is invalid
Почему Я получаю эту ошибку?Как я могу решить проблему?