FactoryGirl使用序列返回nil构建属性

时间:2013-01-05 04:38:17

标签: ruby-on-rails-3 factory-bot

我有一个非常简单的工厂,带有序列

FactoryGirl.define do

  factory :lecture do
    sequence(:name) {|n| "lecture #{n}" }
    sequence(:slug) {|n| "lecture-#{n}" }
  end
end

当我build时 - 它看起来很好

(FactoryGirl.build :lecture)
=> #<Lecture id: nil, slug: "lecture-20", name: "lecture 20", position: nil, created_at: nil, updated_at: nil>

但是当我尝试访问attributes时,我只获得了nil个值

(FactoryGirl.build :lecture).attributes
=> {"name"=>nil,
 "slug"=>nil,
 "id"=>nil,
 "position"=>nil,
 "created_at"=>nil,
 "updated_at"=>nil}

当我使用另一家没有序列的工厂时,它工作正常。此外,使用attributes_for正常工作

FactoryGirl.attributes_for(:lecture)
=> {:name=>"lecture 23", :slug=>"lecture-23"}

我希望能够使用build,因此我获得了所有属性including foreign-keys,但不知怎的,它会返回nil个值...任何想法我可能做错了什么或者如何解决它?

0 个答案:

没有答案