小编Ayo*_*bet的帖子

需要实现#cache!如果你想使用 Cloudinary::CarrierWave::Storage 作为缓存存储

尝试上传图片时出现此错误“需要实现 #cache!如果您想使用 Cloudinary::CarrierWave::Storage 作为缓存存储。” 它在我的控制器中突出显示了这部分代码:

def update
  @company.update(company_params)
  redirect_to company_path(@company)
end
Run Code Online (Sandbox Code Playgroud)

我正在使用 Carrierwave 将照片上传到 cloudinary。我有一个包含我的配置的 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
Run Code Online (Sandbox Code Playgroud)

公司.rb

class Company < ApplicationRecord
  mount_uploader :identitylogo, IdentitylogoUploader
end
Run Code Online (Sandbox Code Playgroud)

company_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
Run Code Online (Sandbox Code Playgroud)

_form.erb …

ruby-on-rails carrierwave cloudinary

6
推荐指数
1
解决办法
1648
查看次数

标签 统计

carrierwave ×1

cloudinary ×1

ruby-on-rails ×1