Проблема модели ассоциации FactoryGirl: «SystemStackError: слишком большой уровень стека»
Я использую Ruby on Rails 3.0.9, RSpec-rails 2 и FactoryGirl. Я пытаюсь сформулировать модель ассоциации Фабрики, но у меня проблемы.
у меня естьfactories/user.rb
файл как следующий:
FactoryGirl.define do
factory :user, :class => User do
attribute_1
attribute_2
...
association :account, :factory => :users_account, :method => :build, :email => '[email protected]'
end
end
иfactories/users/account.rb
файл как следующий:
FactoryGirl.define do
factory :users_account, :class => Users::Account do
sequence(:email) {|n| "foo#{n}@bar.com" }
...
end
end
Приведенный выше пример работает, как и ожидалось, в моих спецификациях, ноесли вfactory :users_account
заявление я добавляюassociation :user
код, чтобы иметь
FactoryGirl.define do
factory :users_account, :class => Users::Account do
sequence(:email) {|n| "foo#{n}@bar.com" }
...
association :user
end
end
Я получаю следующую ошибку:
Failure/Error: Unable to find matching line from backtrace
SystemStackError:
stack level too deep
Как я могу решить эту проблему, чтобы получить доступ к связанным моделям с обеих сторон \ заводов? (то есть в моих спецификациях я хотел бы использовать методы модели ассоциации RoR, такие какuser.account
а такжеaccount.user
)?
П.С .: Я читалФабричная девушка и has_one вопрос и мой случай очень близок к случаю, описанному в связанном вопросе. То есть у меня естьhas_one
ассоциация тоже (междуUser
а такжеUsers::Account
классы).