Ich habe immer Carrierwave mit Rails < = 4 verwendet, arbeite jetzt aber an einem Rails 5 Projekt. Die Bilder können nicht hochgeladen werden mehr und ich bin immer mehrere Fehler (Versuchte in ActiveAdmin (nicht definierte Methode Karte und Seed-Datei) Wer weiß, wie, wo der Fehler istCarrierwave Image Upload & Rails 5 undefinierte Methode `map '
Versionen verwendet.?
Ruby 2.4.1p111
Rails 5.02
Carrierwave 1.1.0
ActiveAdmin from Github Master Repo
Wie üblich erzeugt ich meine Uploaders und montiert sie zu meinem Modell.
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
Normalerweise ActiveAdmin erkennt, dass mounted uploaders
und setzt das image:string
Feld :file
, automatisch, aber diesmal nicht.
Ich habe die aktive Admin-Datei manuell angepasst.
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
Beim Hochladen ich folgende Fehlermeldung erhalten:
es ein Tippfehler Fehler war 'mount_uploaders ':) – zer02