【问题标题】:Carrierwave Image Upload & Rails 5 undefined method `map'Carrierwave 图像上传和 Rails 5 未定义方法“地图”
【发布时间】:2017-05-02 07:40:46
【问题描述】:

我通常总是使用带有 Rails

使用的版本:

Ruby 2.4.1p111
Rails 5.02
Carrierwave 1.1.0
ActiveAdmin from Github Master Repo

像往常一样,我生成了上传器并将它们安装到我的模型中。

uploaders/StoreImageUploader.rb

class StoreImageUploader < CarrierWave::Uploader::Base

  # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  include CarrierWave::MiniMagick

  # Choose what kind of storage to use for this uploader:
  storage :file
  # storage :fog

  # Override the directory where uploaded files will be stored.
  # This is a sensible default for uploaders that are meant to be mounted:
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  # Create different versions of your uploaded files:
  version :thumb do
    process resize_to_fit: [250, 250]
  end

end

models/store.rb

class Store < ApplicationRecord
  mount_uploaders :image, StoreImageUploader
  serialize :image, JSON # If you use SQLite, add this line.
  belongs_to :organization
  has_many :orders
end

通常 ActiveAdmin 会自动检测到 mounted uploaders 并将 image:string 字段设置为 :file,但这次不会。

我手动调整了活动的管理文件。

admin/store.rb

ActiveAdmin.register Store do
permit_params :name , :image
  form(:html => { :multipart => true }) do |f|
    f.inputs "Store" do
      f.input :name
      f.input :image, :as => :file
    end
    f.button "Create"
  end
end

上传时出现以下错误:

【问题讨论】:

  • 这是一个拼写错误mount_uploaders:)

标签: ruby-on-rails ruby activeadmin carrierwave


【解决方案1】:

已解决,这是一个拼写错误mount_uploaders

【讨论】:

    猜你喜欢
    • 2017-01-20
    • 1970-01-01
    • 1970-01-01
    • 2016-05-06
    • 1970-01-01
    • 1970-01-01
    • 2018-02-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多