Attachment_fu polimórfico... ¿cómo generar sólo los thumbnails necesarios?

Holas, tengo una aplicación donde varios modelos pueden llevar fotos
asociadas, y dependiendo del tipo de modelo, me interesan unos tamaños
de
thumbnails u otros.

Por ejemplo, para usuarios quiero un avatar de 100x100, mientras que
para
productos uno de 640x480 y para proyectos uno de 200x100…

En mi aplicación tengo una relación polimórfica, algo así:

usuario has_one :foto, :as => :fotografiable
producto has_many :fotos, :as => :fotografiable
proyecto has_many :fotos, :as => :fotografiable

foto belongs_to :fotografiable, :polymorphic => true

Así que en el modelo foto lo que hago es generar todos estos tipos de
thumbnails que pueda necesitar…

:thumbnails => {
:usuario => ‘100x100!’,
:producto => ‘640x480>’,
:proyecto => ‘200x100!’
}

En mi aplicación real tengo 6 tipos de thumbnails con dimensiones
diferentes
(el diseñador es bastante caprichoso, vamos, es un diseñador).

Mi duda es… ¿sabéis cómo le podría indicar a attachment_fu que sólo me
genere el thumbnail que corresponda al modelo asociado? O sea, si es una
foto asociada a usuario, sólo quiero el thumb “:usuario” de 100x100,
etc.

Otra solución puede ser generar todos y una tarea rake que se pase
rutinariamente a limpiar los thumbnails no necesarios, pero es hacer
trabajar al servidor sin necesidad, para crear thumbs que no necesito y
después para borrarlos.

Buenas,

No he usado relaciones polimorficas, pero a lo mejor puedes crear 3
modelos de fotos
Foto1, Foto2 y Foto3 indicandole que usen los 3 la misma tabla y cuando
haces el has_attachment poniendole los valores que quieras.

Un saludo.

P.D. Los nombres de los modelos propuestos no son recomendables.

Jaime I.
escribió:> Holas, tengo una aplicación donde varios modelos pueden llevar fotos

El día 3/03/08, cartuchoGL [email protected] escribió:

Buenas,

No he usado relaciones polimorficas, pero a lo mejor puedes crear 3
modelos de fotos
Foto1, Foto2 y Foto3 indicandole que usen los 3 la misma tabla y cuando
haces el has_attachment poniendole los valores que quieras.

Hola cartucho, precisamente para no tener que hacerme los 6 modelos de
algo
que es lo mismo (una foto asociada a algo), es por lo que uso las
relaciones
polimórficas.

Gracias!