0

サムネイル画像の幅と高さを取得する方法について何かアイデアはありますか?photo.widthは、元の写真の幅を返します。サムネイルの幅をデータベースに保存していますが、そのオブジェクトにアクセスする方法がわかりません。

動作しません:

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

これもしません:

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

2 に答える 2

1

デフォルトでは、attachment_fuは、URLなどの情報を取得するためにテーブルから親写真のみをロードします。サムネイルオプションを渡すと、拡張子の前のファイル名の最後に適切なサイズが追加されるだけです。

サイズを取得する場合は、Photo.find_by_parent_id(photo.id、:conditions => ['thumbnail =?'、'thumbnail_class_name'])のようにテーブルで検索する必要があります。幅

少なくとも、頻繁に実行されるものにこれを使用する場合は、写真の幅を事前に知っておくとよいでしょう。

于 2009-07-02T17:49:24.357 に答える
0
 :thumbnails => { :crop_200x200 => 'c200x200',
              :default_200x200 => '200x200',
              :ex_200x200 => '200x200!',
              :gt_200x200 => '200x200>',
              :lt_200x200 => '200x200<'}

高さと幅を取得するには、これが私が行うことです

tname = 'crop_200x200'
height= @picture.thumbnails.select{ |r| r.thumbnail ==  tname }.first.height 
width= @picture.thumbnails.select{ |r| r.thumbnail == tname }.first.width 
于 2009-07-01T17:44:46.430 に答える