Ich habe Modell Person, die viele Bilder hat, wobei Bilder ein Büroklammer-Anhangsfeld namens Daten haben, eine abgekürzte Version, die unten angezeigt wird:
class Person
has_many :images
...
end
class Image
has_attached_file :data
belongs_to :person
...
end
Der Person muss mindestens ein Bild beigefügt sein.
Bei der Verwendung von FactoryGirl habe ich folgenden Code:
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
(Hinweis: Ich habe auch versucht, dass der oben auskommentierte Code ebenfalls ausprobiert wurde.) Die meiste Zeit, wenn ich Gurkenfunktionen ausführe, wird eine Fehlermeldung angezeigt, die der folgenden ähnelt:
Keine solche Datei oder kein solches Verzeichnis - /tmp/stream,9887,0.png (Errno :: ENOENT)
...
Manchmal laufen die Tests erfolgreich.
Kann mir jemand sagen, was das Problem ist, das ich hier habe, oder wie sie FactoryGirl und Paperclip zusammen verwenden, um so etwas wie das zu erreichen, was ich erreichen möchte?
Ich benutze Rails 3.