未初始化的常量Car :: PictureUploader

问题描述 投票:1回答:3

我正在尝试在app / uploaders中添加Picture Uploader,但在加载我的应用时出现此错误:

uninitialized constant Car::PictureUploader on line 3 of car.rb

应用程序/模型/ car.rb

class Car < ActiveRecord::Base
  belongs_to :user
  mount_uploader :picture, PictureUploader
  validates :user_id, presence: true
  validates :year, presence:true, length: { maximum: 4 }
  validates :brand, presence:true

应用程序/上传/ picture_uploader.rb

class PictureUploader < CarrierWave::Uploader::Base
  storage :file

  # 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

  # Add a white list of extensions which are allowed to be uploaded.
  def extension_white_list
    %w(jpg jpeg gif png)
  end
end

我之前得到这个错误的时候,相当于picture_uploader.rb的文件不在正确的文件夹中,但我认为这里的一切都是正常的。当我在user.rb中注释第3行时,页面加载。关于如何让我的页面运行的任何想法?

ruby-on-rails ruby file-upload controller railstutorial.org
3个回答
1
投票

我想你想要:

::PictureUploader

这指定它只是类PictureUploader而不是命名空间PictureUploader中的类Car


2
投票

有相同的错误,不得不手动杀死服务器进程:

ps aux | grep server
kill [server process id]

出于某种原因,先前使用Ctrl + C关闭服务器似乎没有用。


0
投票

只需重启服务器即可。它会解决这个问题。你的代码中的一切都还可以。

© www.soinside.com 2019 - 2024. All rights reserved.