Привет. В течение последних нескольких часов я пытался добавить отобранные изображения в мой начальный файл с помощью carrierwave.Я добавил драгоценный камень, который я добавил к своей модели, а также добавил к параметрам в моем контроллере, однако я продолжаю получать эту ошибку: NameError in ServicesController#index
uninitialized constant PhotoUploader::Cloudinary
Я искал в Интернете, почему это может быть бесполезным.
Я перезапустил сервер, остановил пружину, закрыл терминал и снова открыл, а также добавил «Требуется carrierwave» в верхней части моего файла service.rb, но ничего не работает.
Заранее спасибо.
service.rb
class Service < ApplicationRecord
mount_uploader :photo, PhotoUploader
end
app / uploaders / photo_uploader.rb
class PhotoUploader < CarrierWave::Uploader::Base
include Cloudinary::CarrierWave
end
Сервисный контроллер
class ServicesController < ApplicationController
before_action :find_service, only: [:show]
def index
if params[:category].present?
@services = Service.where(category: params[:category])
else
@services = Service.all
end
end
def show
end
private
def service_params
params.require(:service).permit(:name, :description, :category, :picture_url, :video, :photo, :photo_cache)
end
def find_service
@service = Service.find(params[:id])
end
end
gemfile:
gem 'carrierwave', '~> 1.2'
начальный файл
Service.destroy_all
puts 'Creating services...'
Service.create!({
name: "Carpet Cleaning Stain 1",
description: "v stubborn",
category: "stain removal",
remote_photo_url: "https://res.cloudinary.com/dnsof9xnr/image/upload/v1558043148/58625931_1259911844176433_4676539998827184128_n_1.jpg"
})
Я добавил строку удаленного URL в соответствии с этим уроком: https://github.com/carrierwaveuploader/carrierwave/wiki/How-to:-Upload-remote-image-urls-to-your-seedfile