Проблема модели ассоциации 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 классы).

Ответы на вопрос(2)

Ваш ответ на вопрос