Нужно реализовать #cache! если вы хотите использовать Cloudinary :: CarrierWave :: Storage в качестве кеша - PullRequest
1 голос
/ 26 июня 2019

Я получаю эту ошибку при попытке загрузить изображение «Необходимо реализовать #cache!, Если вы хотите использовать Cloudinary :: CarrierWave :: Storage в качестве кэш-памяти». Это выделяет эту часть кода в моем контроллере:

def update
  @company.update(company_params)
  redirect_to company_path(@company)
end

Я использую Carrierwave для загрузки фото в облачный сервис. У меня есть файл cloudinary.yml с моей конфигурацией, а также файл cloudinary.rb в моих инициализаторах.

identitylogo_uploader.rb

class IdentitylogoUploader < CarrierWave::Uploader::Base
  include Cloudinary::CarrierWave


  process :convert => 'png'
  process :tags => ['logo_entreprise']

  version :standard do
    process :resize_to_fill => [150, 150, :north]
  end

  version :thumbnail do
    resize_to_fit(50, 50)
  end


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

company.rb

class Company < ApplicationRecord
  mount_uploader :identitylogo, IdentitylogoUploader
end

companies_controller.erb

def update
  @company.update(company_params)
  redirect_to company_path(@company)
end

def company_params
  params.require(:company).permit(:identitylogo, :name, :industry, 
  :employees, :website)
end

_form.erb

<%= simple_form_for @company do |f| %>
  <%= f.input :name %>
  <%= f.input :industry %>
  <%= f.input :employees %>
  <%= f.input :website %>
  <%= f.input :identitylogo_cache, as: :hidden %>
  <%= f.input :identitylogo, label: false %>

  <%= f.button :submit %>
<% end %>

_show.html.erb

<img src="<%= @company.identitylogo %> " alt="Logo de 
l'entreprise">

Я заметил, что ссылка сгенерирована, но файл не загружен в облачный.

1 Ответ

0 голосов
/ 12 июля 2019

Похоже, что новейшая версия CarrierWave еще не совместима с Cloudinary.

Проверьте ваш Gemfile и Gemfile.lock.Мне пришлось удалить .rc-end и перезапустить сервер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...