J'ai personne modèle qui a de nombreuses images, où les images ont un champ de saisie des données Paperclip appelé, une version abrégée affichée ci-dessous:Comment utiliser Factory Girl pour générer un accessoire Paperclip?
class Person
has_many :images
...
end
class Image
has_attached_file :data
belongs_to :person
...
end
personne doit avoir au moins une image attachée.
Lorsque vous utilisez factorygirl, j'ai le code semblable à ce qui suit:
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 J'ai également essayé le code commenté ci-dessus a également été essayé) La plupart du temps quand je lance des fonctionnalités de concombre, je obtenir une erreur semblable à ce qui suit:
Aucun fichier ou répertoire - /tmp/stream,9887,0.png (Errno :: ENOENT)
...
Parfois, les tests s'exécutent avec succès. Est-ce que quelqu'un peut me dire quel est le problème que j'ai ici ou comment ils utilisent ensemble FactoryGirl et Paperclip pour réaliser quelque chose comme ce que j'essaye d'accomplir?
J'utilise Rails 3.
Up vote en question juste pour l'utilisation de Keyzer Soze comme nom de test! – Breno
Ce que @Breno a dit ... –
Quand je fais cela ... les photos sont générées et placées dans le dossier public/système chaque fois que je lance la suite de tests. Les photos ne sont pas détruites après l'exécution de la suite de tests. Est-ce que quelqu'un d'autre remarque cela? – Jwan622