ruby on rails - notidentifiedbyimagemagickerror - Cómo configurar una carga de archivo mediante programación utilizando Paperclip
rails gem upload file (3)
Tengo una tarea de rake para generar una aplicación con datos aleatorios utilizando la gema faker. Sin embargo, también tenemos imágenes (como logotipos) que queremos cargar en esta tarea de rake.
Ya tenemos configurada Paperclip, pero no tenemos una forma de cargarlas programáticamente en una tarea de rake. ¿Algunas ideas?
¿A qué te refieres con programación? Puede configurar un método que tomará una ruta de archivo a lo largo de las líneas de
my_model_instance = MyModel.new
file = File.open(file_path)
my_model_instance.attachment = file
file.close
my_model_instance.save!
#attachment
proviene de nuestra declaración Paperclip en nuestro modelo. En este caso, nuestro modelo se parece a
class MyModel < ActiveRecord::Base
has_attached_file :attachment
end
Hemos hecho cosas similares a esto cuando se inicia un proyecto.
En realidad, no tuve que escribir un método para esto. Mucho más simple
En el modelo ->
Class Model_Name < ActiveRecord::Base
has_attached_file :my_attachment,
:params_for_attachment
En seed.db ->
my_instance = Model_name.new
my_instance.my_attachment = File.open(''path/to/file/relative/to/app'')
my_instance.save!
Quizás las respuestas anteriores significaron utilizar el nombre del archivo adjunto como se define en el modelo (en lugar de escribir un método Model_name.attachment). Espero que esto esté claro.
Hago algo como esto en una tarea de rake.
photo_path = ''./test/fixtures/files/*.jpg''
Dir.glob(photo_path).entries.each do |e|
model = Model.find(<query here>)
model.attachment = File.open(e)
model.save
end
¡Espero que esto ayude!