Ich kann Shrine nicht funktionieren, egal was ich tue und ich verwende die einfachsten Setups, um damit zu beginnen.NameError: nicht initialisierte Konstante Plaqueorder :: ShrineImageUploader bei Verwendung von Shrine 2.8 auf Rails 5.1.4
db/schema.rb
create_table "plaqueorders", force: :cascade do |t|
...
t.text "image_data"
...
Initialisierungen/shrine.rb
require 'shrine'
require 'shrine/storage/file_system'
Shrine.storages = {
cache: Shrine::Storage::FileSystem.new('public', prefix: 'uploads/cache'),
store: Shrine::Storage::FileSystem.new('public', prefix: 'uploads/store'),
}
Shrine.plugin :activerecord
Shrine.plugin :cached_attachment_data # for forms
uploaders/image_uploader.rb
class ShrineImageUploader < Shrine
end
Modelle/plaqueorder.rb
class Plaqueorder < ApplicationRecord
belongs_to :user
validates :plaque_type, presence: true
include ShrineImageUploader[:image]
end
Welp, um zu beginnen, scheint 'image_uploader.rb'' ShrineImageUploader' zu definieren. Ich würde denken, die Datei würde "shrine_image_uploader.rb" heißen oder die Klasse würde "ImageUploader" heißen. Andernfalls haben Sie eine Benennungskonflikt. – jvillian
gut, mein Gesicht ist rot ... starrte den ganzen Morgen und das Offensichtliche war direkt vor mir :) –
Passiert das Beste. Ich habe als Antwort hinzugefügt, falls Sie das Angebot positiv bewerten möchten. – jvillian