我正在尝试在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行时,页面加载。关于如何让我的页面运行的任何想法?
我想你想要:
::PictureUploader
这指定它只是类PictureUploader
而不是命名空间PictureUploader
中的类Car
。
有相同的错误,不得不手动杀死服务器进程:
ps aux | grep server
kill [server process id]
出于某种原因,先前使用Ctrl + C关闭服务器似乎没有用。
只需重启服务器即可。它会解决这个问题。你的代码中的一切都还可以。