Pregunta

¿Alguna idea sobre cómo conseguir la anchura y altura de la imagen en miniatura? photo.width devuelve el ancho de fotos originales. Estoy almacenando el ancho de la imagen en miniatura en la base de datos, simplemente no estoy seguro de cómo acceder a ese objeto.

No funciona:

<%= image_tag photo.authenticated_s3_url(:medium),
              :width => photo.width,
              :height => photo.height %>

Tampoco esto:

<%= image_tag photo.authenticated_s3_url(:medium),
              :width => photo.authenticated_s3_url(:medium).width,
              :height => photo.authenticated_s3_url(:medium).height %>
¿Fue útil?

Solución

Por defecto, attachment_fu sólo carga la foto de los padres de una tabla para obtener información como la dirección URL. Cuando se le pasa una opción miniatura simplemente añade el tamaño apropiado para el final del nombre de archivo antes de la extensión.

Si desea obtener el tamaño, vas a tener que mirar hacia arriba en la tabla con algo como, Photo.find_by_parent_id (photo.id,: '? Miniatura =' condiciones => [, 'thumbnail_class_name' ]). anchura

Es mejor saber el ancho de una foto de antemano, al menos si se va a utilizar esto para cualquier cosa que se ejecutan con frecuencia.

Otros consejos

 :thumbnails => { :crop_200x200 => 'c200x200',
              :default_200x200 => '200x200',
              :ex_200x200 => '200x200!',
              :gt_200x200 => '200x200>',
              :lt_200x200 => '200x200<'}

Para obtener la altura y la anchura esto es lo que haría

tname = 'crop_200x200'
height= @picture.thumbnails.select{ |r| r.thumbnail ==  tname }.first.height 
width= @picture.thumbnails.select{ |r| r.thumbnail == tname }.first.width 
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top