Carrierwave:调整资产图像大小

时间:2016-03-11 22:20:23

标签: ruby-on-rails ruby carrierwave

我的资产文件夹中有一堆图像。它们被分类:文件夹名称与模型名称匹配,它代表一个类别。当我们像画廊一样列出它时我没有挣扎,但我注意每个图像都要调整大小。 我已经安装了RMagick和Carrierwave。我已配置ImageUploader类:

class ImageUploader < CarrierWave::Uploader::Base
  include CarrierWave::RMagick
  storage :file

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  version :thumb do
    process :resize_to_fill => [128, 128]
  end
end

我在模型中添加了一列并安装了一个上传器:

# from db/schema.rb
# path leads to an image inside assets folder
create_table "foos", force: :cascade do |t|
  t.string   "path",       null: false
  t.datetime "created_at", null: false
  t.datetime "updated_at", null: false
  t.string   "image"
end
# app/models
class Foo < ActiveRecord::Base
  mount_uploader :image, ImageUploader
end

我尝试在我的模板中使用image_tag foo.image_url(:thumb),但它不起作用。我错过了什么?

1 个答案:

答案 0 :(得分:0)

试试这个

<%= image_tag @foo.image.thumb.url %>
相关问题