Carrierwave Image Upload & Rails 5 未定义方法`map'
Carrierwave Image Upload & Rails 5 undefined method `map'
我通常总是将 Carrierwave 与 Rails <=4 一起使用,但现在我正在做一个 Rails 5 的项目。我无法再上传图像,并且出现多个错误(在 ActiveAdmin 中尝试过(未定义的方法映射和种子文件)。
有谁知道错误在哪里?
使用的版本:
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
我通常总是将 Carrierwave 与 Rails <=4 一起使用,但现在我正在做一个 Rails 5 的项目。我无法再上传图像,并且出现多个错误(在 ActiveAdmin 中尝试过(未定义的方法映射和种子文件)。 有谁知道错误在哪里?
使用的版本:
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