J'ai le modèle de Personne qui a beaucoup d'Images, où les images ont un Trombone attachement champ appelé de données, une version abrégée affiché ci-dessous:
class Person
has_many :images
...
end
class Image
has_attached_file :data
belongs_to :person
...
end
Personne est nécessaire d'avoir au moins une Image attachée à elle.
Lors de l'utilisation de FactoryGirl, j'ai un code semblable au suivant:
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
(N. B. j'ai aussi essayé le code commenté ci-dessus a été aussi essayé) La plupart du temps, quand je lance dispositifs de concombre, j'obtiens un message d'erreur semblable au suivant:
Aucun fichier ou d'un répertoire /tmp/stream,9887,0.png (Errno::ENOENT)
...
Parfois, les tests s'exécutent correctement.
Quelqu'un peut-il me dire quel est le problème c'est que je vais avoir ici ou la façon dont ils utilisent FactoryGirl et un Trombone, ensemble pour atteindre quelque chose comme ce que je suis en train de réaliser?
Je suis à l'aide de Rails 3.