相关疑难解决方法(0)

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 => 'foo@bar.com'
  end
end
Run Code Online (Sandbox Code Playgroud)

和以下factories/users/account.rb文件:

FactoryGirl.define do
  factory :users_account, :class => Users::Account do
    sequence(:email) {|n| "foo#{n}@bar.com" }
    ...
  end
end
Run Code Online (Sandbox Code Playgroud)

上面的示例在我的spec文件中按预期工作,但如果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
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

Failure/Error: Unable to …
Run Code Online (Sandbox Code Playgroud)

ruby rspec ruby-on-rails ruby-on-rails-3 factory-bot

11
推荐指数
1
解决办法
4650
查看次数