我有一个模型人,有许多图像,其中图像有一个回形针附件字段称为数据,一个缩写版本显示如下:
class Person
has_many :images
...
end
class Image
has_attached_file :data
belongs_to :person
...
end
人必须至少有一个图像附加到它。
在使用 FactoryGirl 时,我的代码类似于以下代码:
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
(注意: 我也试过上面注释的代码,也试过了) 大多数情况下,当我运行黄瓜特征时,我会得到一个类似于下面这样的错误:
没有这样的文件或目录-/tmp/stream,9887,0. png (Errno: : ENOENT)
...
Sometimes the tests run successfully.
有没有人能告诉我,我在这里遇到了什么问题,或者他们是如何使用工厂女孩和回形针一起达到我想要达到的目标的?
我正在使用 Rails 3。