2012-09-15 8 views
6

Así que en mi modelo que tengo diferentes tamaños para mi avatar:Paperclip establece imágenes por defecto para todos los estilos diferentes

has_attached_file :avatar, 
    :styles => { 
    :thumb => "60x60>", 
    :small => "80x80>", 
    :medium => "140x140>", 
    :large => "300x300>"}, 
    :default_url => "/images/default_avatar.png" 

Ahora cuando llamo model_instance.avatar.url(:small) volverá "/images/default_avatar.png" si no hay avatar. También devolverá el mismo resultado para cualquier estilo que elija.

Quiero hacer las imágenes predeterminadas cambian al cambio de estilo de manera que cuando llamo model_instance.avatar.url(:small) debe devolver "/images/default_avatar_small.png" y si llamo model_instance.avatar.url(:large) debe devolver "/images/default_avatar_large.png"

¿Cómo puedo hacer que Paperclip asigne diferentes avatares predeterminados para cada estilo?

+0

@apneadiving He actualizado la cuestión – wael34218

+3

encontrado la respuesta aquí http://stackoverflow.com/questions/5987751/trouble-resizing-the-default-image-with-paperclip – wael34218

Respuesta

3

El :style se pueden incluir en la cadena de URL por defecto que le permite hacerlo dinámico:

has_attached_file :avatar, 
    :styles => { 
    :thumb => "60x60>", 
    :small => "80x80>", 
    :medium => "140x140>", 
    :large => "300x300>"}, 
    :default_url => "/images/default_avatar_:style.png" 
Cuestiones relacionadas