0

モデレートされた画像や「メイン」プロファイル画像などの条件に基づいて画像を取得し、サイズパラメーターをcarrierwave に渡して、複数の画像サイズをロードする 1 つの方法を使用できるようにしようとしていますが、これを正しく行うにはどうすればよいでしょうか?

私の写真モデルは、

  • :モデレート、
  • :主な属性

モデレートされた画像を設定するか、画像をメインのプロフィール写真に設定して、検索結果に表示します。条件に基づいて画像を取得する方法がわかりません。

  # Get avatar in correct size
  # Display or return default image
  # my problem: how to pass size to the carrierwave method

  def get_avatar(id, size)

      @photo_main = Photo.where(:attachable_id => id, :moderated => true, :approved => true, :main => true).first
      @photo = Photo.where(:attachable_id => id, :moderated => true, :approved => true).first


    if @photo_main
      image_tag @photo_main.file.url(:img_122x145) rescue nil
    else
      image_tag @photo.file.url(:img_122x145)
    end
  rescue
    image_tag ("/assets/avatars/img_#{size}.png")
  end
4

1 に答える 1

1

あなたのモデルで

has_attached_file :file,
 :style => {:small => "100x100#"}, # 100x100 any size
 ...

ヘルパーで

image_tag(@photo.file.url(:small,false), :alt => "any text" )
于 2012-09-26T11:36:14.327 に答える