Domanda

Tutte le idee su come ottenere la larghezza e l'altezza della miniatura? photo.width restituisce la foto larghezza originale. Sto Memorizzazione la larghezza della miniatura nel database, non sono solo sicuro di come accedere a tale oggetto.

Non funziona:

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

Né fa questo:

<%= image_tag photo.authenticated_s3_url(:medium),
              :width => photo.authenticated_s3_url(:medium).width,
              :height => photo.authenticated_s3_url(:medium).height %>
È stato utile?

Soluzione

Per impostazione predefinita, attachment_fu carica solo la foto genitore da una tabella per ottenere informazioni come l'url. Quando si passa un'opzione Miniatura si aggiunge semplicemente la dimensione appropriata per la fine del nome del file prima dell'estensione.

Se si desidera ottenere la dimensione, si sta andando ad avere bisogno di guardare in su nella tabella con qualcosa di simile, Photo.find_by_parent_id (photo.id,: '? Miniature =' condizioni => [, 'thumbnail_class_name' ]). larghezza

È meglio conoscere la larghezza di una foto in anticipo, almeno se avete intenzione di utilizzare questo per nulla che possa essere eseguito spesso.

Altri suggerimenti

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

Per ottenere l'altezza e la larghezza questo è quello che vorrei fare

tname = 'crop_200x200'
height= @picture.thumbnails.select{ |r| r.thumbnail ==  tname }.first.height 
width= @picture.thumbnails.select{ |r| r.thumbnail == tname }.first.width 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top