Tôi có mô hình Người có nhiều Hình ảnh, trong đó hình ảnh có trường đính kèm Kẹp giấy được gọi là dữ liệu, phiên bản viết tắt được hiển thị bên dưới:
class Person
has_many :images
...
end
class Image
has_attached_file :data
belongs_to :person
...
end
Người được yêu cầu phải có ít nhất một Hình ảnh đính kèm với nó.
Khi sử dụng FactoryGirl, tôi có mã tương tự như sau:
Factory.define :image do |a|
a.data { File.new(File.join(Rails.root, 'features', 'support', 'file.png')) }
a.association :person
end
Factory.define :person do |p|
p.first_name 'Keyzer'
p.last_name 'Soze'
p.after_create do |person|
person.assets = [Factory.build(:image, :person => person)]
end
# p.images {|images| [images.association(:image)]}
end
(NB Tôi cũng đã thử mã nhận xét ở trên cũng đã được thử) Hầu hết thời gian khi tôi chạy các tính năng dưa chuột, tôi gặp lỗi tương tự như sau:
Không có tệp hoặc thư mục nào như vậy - /tmp/stream,9887,0.png (Errno :: ENOENT)
...
Đôi khi các bài kiểm tra chạy thành công.
Có ai có thể cho tôi biết vấn đề mà tôi đang gặp phải ở đây hay cách họ sử dụng FactoryGirl và Paperclip với nhau để đạt được điều gì đó giống như những gì tôi đang cố gắng đạt được không?
Tôi đang sử dụng Rails 3.