所以,我有一个购物车课程,我一直保存在会议中,直到购买完成,我需要能够将文件上传到购物车(不要问为什么,长话题)一旦购买完成后,我将所有信息转储到保存在数据库中的类中。
我已经使用了很多Carrierwave,到目前为止我没有遇到任何问题,但当我尝试将上传器加载到其中时,我得到了
undefined method `mount_uploader' for Cart:Class
问题是,是否可以将一个上传器安装到一个不会继承ActiveRecord的类中:Base或者我是否还有另一个问题?我还没有能够让它发挥作用,所以我不想浪费更多时间,如果这是问题。
答案 0 :(得分:4)
如果您的模型不是ActiveRecord :: Base的子类,您将获得该异常:
undefined method `mount_uploader' for Derp:Class
令人高兴的是,如果你的类扩展了CarrierWave :: Mount模块并且该类有一个调用实例方法store_(mounted_field)的save方法,你可以使用mount_uploader!
总之,ActiveRecord :: Base-less类看起来像
class Derp
extend CarrierWave::Mount
attr_accessor :name, :image
mount_uploader :image, ImageUploader
def save
self.store_image!
end
end