使用Carrierwave调整图像大小

时间:2017-05-27 05:57:51

标签: ruby-on-rails carrierwave

我尝试在carrierwave提供的类中使用version :thumb。但是,当我使用version :thumb类时,图片出现错误,会在网址中添加thumb,从而破坏图片。

<img src="/uploads/course/image/2/thumb_OX50XkO.jpg" alt="Thumb ox50xko">

原始图片链接在网址中没有thumb字样。

修改

型号:

class Course < ApplicationRecord
    has_many :course_categories
    has_many :categories, :through => :course_categories
    has_many :course_locations
    has_many :locations, :through => :course_locations
    mount_uploader :image, ImageUploader
end

者:

class ImageUploader < CarrierWave::Uploader::Base
    include CarrierWave::MiniMagick
    storage :file
    def store_dir
        "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
    end

    version :thumb do
        process resize_to_fit: [50, 50]
    end
end

1 个答案:

答案 0 :(得分:0)

要输出图片,您可以尝试使用image_tag @course.image.url(:thumb)uploader.thumb.url。如果您在上传图片后添加了拇指,则需要再次上传或测试其他@course对象。

没关系,文件名是不同的,因为它已经是另一个文件 - 你有原始文件并被裁剪。