Saludos amigos, he creado una clase, para redimensionar una imagen de
acuerdo a un criterio(ancho y alto), al metodo de esta clase le paso el
valor proveniente de un campo file del formulario, el codigo es algo
asi:
#modelo
#aqui estoy recogiendo el contenido del campo file y pasandolo al metodo
de
la clase
def img_reducida=(imagen)
Herramientas.redimensiona(80,100,imagen,“public/images/productos/reducidas/”)
end
#my clase
#aca proceso el archivo, extraigo su ancho y alto, etc
#pero el problema aparentemente es porque el contenido del file se
pierde y
llega como nil hasta aqui.
class Herramientas
include Reloadable
require ‘RMagick’
def self.redimensiona(max_ancho,max_alto,image,destino)
File.open(“public/images/tmpro#{imagen.original_filename}”, “wb”) {
|f|
f.write(imagen.read) }
img=Magick::Image.ping(imagen)
@ruta=imagen
ancho=img[0].columns
alto=img[0].rows
…
end
end
#y entonces me lanza este error
You have a nil object when you didn’t expect it!
The error occured while evaluating nil.columns
No entiendo porque el contenido del file se pierde, tal vez sea por lo
que
es temporal, al menos asi era en php, como podria pasar el contenido de
esta
archivo al metodo de la clase?, ojala me orienten puedan ya que llevo
con
esto mas de un dia :(.
Gracias.
Grandes éxitos, superhéroes, imitaciones, cine y TV…
http://es.msn.kiwee.com/ Lo mejor para tu móvil.