gpt4 book ai didi

ruby-on-rails - Carrierwave:在非ActiveRecord继承类中挂载Uploader

转载 作者:行者123 更新时间:2023-12-04 03:48:22 27 4
gpt4 key购买 nike

所以,我有一个购物车类,我一直保存在 session 中,直到购买完成,我需要能够在购买完成后将文件上传到购物车(不要问为什么,说来话长),我将所有这些信息转储到一个保存在数据库中的类中。

我经常使用 Carrierwave,到目前为止我没有遇到任何问题,但是当我尝试将 uploader 安装到其中时,我得到了


Cart:Class 的未定义方法 `mount_uploader'

问题是,是否可以将 uploader 挂载到不继承 ActiveRecord:Base 的类中,或者我是否遇到了另一个问题?我一直无法让它发挥作用,所以如果这是问题所在,我不想浪费更多时间。

最佳答案

如果您的模型不是 ActiveRecord::Base 的子类,您将得到该异常:

undefined method `mount_uploader' for Derp:Class

幸运的是,如果您的类扩展了 CarrierWave::Mount 模块并且该类有一个调用实例方法 store_(mounted_field) 的保存方法,您可以使用 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

关于ruby-on-rails - Carrierwave:在非ActiveRecord继承类中挂载Uploader,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26918038/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com