2015-02-07 114 views
0

我有兩個模型PostImage。如果沒有images,則無法創建帖子。工廠女孩has_many當孩子需要

class Post < ActiveRecord::Base 
    has_many :images 
    validates :images , presence: true 
end 

class Image < ActiveRecord::Base 
    belongs_to :post 
    validates :post_id , presence: true 
    validates :name , presence: true 
end 

現在,我想設置爲factory girlpostimage。我很好,image工廠的女孩,但不能設置post工廠的女孩,它應該有圖像。

#image 
FactoryGirl.define do 
    factory :image do 
    name "something" 
    post_id 121 
    end 
end 

#post 
FactoryGirl.define do 
    factory :post do 
    title "foo bar" 
    after(:create) do |post,evaluator| 
     create_list :image , 3 , post: post 
    end 
    end 
end 

但我還是結束了驗證錯誤的postimages should be present。這個錯誤確實有道理,但是如何解決這個問題。

回答

1

這對我的作品

FactoryGirl.define do 
    factory :post do 
    title "foo bar" 
    after(:build) do |post,evaluator| 
     post.images << (build_list :image , 3 , post: post) 
    end 
    end 
end