Đây là 2 mô hình đơn giản:FactoryGirl, has_one hiệp hội và xác nhận thất bại
class Post < ActiveRecord::Base
has_one :asset, :dependent => :destroy
validates :asset, presence: true
end
class Asset < ActiveRecord::Base
belongs_to :post
end
Tôi đang cố gắng để tạo ra một nhà máy như thế này:
factory :post do
# fields...
asset { FactoryGirl.create(:asset) }
end
factory :asset do
# fields...
post
end
Nhưng, chạy spec nó đi vào một vòng lặp .
Tôi cũng đã tryied này:
factory :post do
# fields...
before(:create) do |post, evaluator|
FactoryGirl.create_list(:asset, 1, post: post)
end
end
Nhưng kết thúc trong "Xác nhận thất bại: Asset không thể để trống".
Tôi làm cách nào để thể hiện tình trạng của mình?
Có lý do nào bạn đặt 'bài' trên': asset' thay vì cách khác không?Có vẻ kỳ lạ vì 'Post' là cái cần có' Nội dung' trong quá trình tạo. – deefour
Các hiệp hội của nhà máy là dành cho những người nước ngoài và không phải cho các hiệp hội has_one/has_many. Liệu tôi có sai? –