Hola, tengo un problema con este plugin. Lo tenemos instalado para que
permita subir imagenes y genere 3 imagenes con distinto tamaño para
utilizarlas en un sitio u otro de la aplicacion segun interese.
Os comento como lo tenemos organizado:
En el modelo de la imagen:
class Image < ActiveRecord::Base
.
.
.
has_attachment :content_type => [‘image/jpeg’, ‘image/pjpeg’,
‘image/gif’, ‘image/jpg’, ‘image/png’],
:storage => :file_system,
:path_prefix => ‘public/images’,
:size => 1.kilobyte…300.kilobytes,
:resize_to => ‘700>’,
:thumbnails => { :titular1 => ‘220>’,
:titular2 => ‘150>’, :foro => ‘440>’ },
:processor => :MiniMagick
validates_as_attachment
El controlador en cuestion se llama titulares. El codigo es asi:
class TitularesController < ApplicationController
.
.
.
def edit
@titulo = “Editar titular”
@titular = Contenido.find(params[:id])
end
.
.
.
def create
@titular=Contenido.new(params[:contenido])
@titular.subtipo_id=Subtipo::TITULARES
# Actualizo el usuario, incrementando sus puntos y su nº de posts de
blog
autor = Usuario.find(@titular.usuario_id)
estadisticas_up(autor.id, Subtipo::TITULARES)
autor.update_attribute(“puntos”, autor.puntos + @titular.puntos_msg)
autor.update_attribute(“puntos_anual”, autor.puntos_anual +
@titular.puntos_msg)
/AQUI VIENE LO INTERESANTE PARA LAS IMAGENES/
respond_to do |format|
if @titular.save
#guardo las imagenes
unless (image = params[:image]).nil?
img = Image.new(image.merge({:usuario_id =>
session[:usuario_id], :contenido_id => @titular.id, :orden =>1}))
img.save
end
format.html { redirect_to(portada_titulares_path) }
format.xml { render :xml => @titular, :status => :created,
:location => @titular }
else
format.html { render :action => “new” }
format.xml { render :xml => @titular.errors, :status =>
:unprocessable_entity }
end
end
end
.
.
.
Pues bien, a la hora de editar un titular no hay ningun tipo de
problema, es decir puedo añadir o cambiar una foto y en la base de datos
automaticamente se guardan las tres copias de la imagen (cada una con
distinto tamaño y con el nombre retocado para poderlas utilizar en un
sitio u otro de la aplicacion). Pero el problema viene a la hora de
crear un titular, si cuando creo el titular añado una imagen únicamente
me guarda en la base de datos la imagen con el tamaño original, no crea
las copias. Llevamos un buen rato intentando ver el fallo pero no damos
con él, mas que nada por que en el método de edit no hay prácticamente
nada escrito, vamos que lo hace automáticamente, no vemos porqué en el
create no es asi.
Un saludo y gracias por la ayuda.