У меня есть куча изображений внутри папки моих ресурсов. Они классифицируются: имя папки совпадает с именем модели, которое представляет категорию. У меня нет борьбы, когда перечисляю их как галерею, но я прислушиваюсь к изменению каждого изображения. Я уже установил RMagick и Carrierwave. Я настроил ImageUploader
класс:Carrierwave: изменение размера изображений из активов
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)
в моем шаблоне, но он не работает. Что я упустил?
Вам нужны реальные записи в базе данных с именами файлов для этой модели и этих идентификаторов. – Babar
@Babar У меня уже есть фактические записи с URL-адресами для каждого из файлов. – DreamWalker