NameError:未初始化的常量Plaqueorder :: ShrineImageUploader在Rails上使用Shrine 2.8时5.1.4

问题描述:

无论我做什么,我都无法使Shrine正常工作,我使用的是最简单的设置。NameError:未初始化的常量Plaqueorder :: ShrineImageUploader在Rails上使用Shrine 2.8时5.1.4

分贝/ schema.rb

create_table "plaqueorders", force: :cascade do |t| 
    ... 
    t.text "image_data" 
    ... 

初始化/ 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 

上传/ image_uploader.rb

class ShrineImageUploader < Shrine 
end 

型号/ plaqueorder.rb

class Plaqueorder < ApplicationRecord 
    belongs_to :user 
    validates :plaque_type, presence: true 
    include ShrineImageUploader[:image] 
end 
+1

Welp,首先,它似乎'image_uploader.rb'定义'ShrineImageUploader'。我认为这个文件将被命名为'shrine_image_uploader.rb',或者该类将被命名为'ImageUploader'。否则,你的命名不匹配。 – jvillian

+0

好吧,我的脸红了......一直盯着这个整个早晨,显而易见的是在我面前:) –

+0

发生在最好的。如果您想升级/批准,我添加了一个答案。 – jvillian

韦尔普,下手,似乎image_uploader.rb定义ShrineImageUploader。我会认为该文件将被命名为shrine_image_uploader.rb或该班级将被命名为ImageUploader

否则,您的命名不匹配。