【问题标题】:carrierwave: mount uploader at a virtual attributecarrierwave:在虚拟属性上挂载上传器
【发布时间】:2012-11-09 21:20:12
【问题描述】:

我正在使用具有两个属性的或多或少的通用属性模型:key 和 :value。该值是一个字符串属性,可以用作依赖于父对象的上传者。如何使用该属性作为普通字符串属性安装上传器?我试图创建这样的东西:

def imagelink 
  self.value
end

def imagelink=(value)
 self.value=value
end

mount_uploader :imagelink, MyUploaderClass

但这会导致 active_record 错误,因为 imagelink-property 不是真正的 active_record 属性?

【问题讨论】:

  • 你能解释一下你为什么要这么做吗?
  • 我有一个键值对表,它或多或少是一种存储对象动态属性的通用方式。用户可以创建一个属性并可以将值存储到该属性中。该属性可以是一个文件,我使用 :reslink 属性,或者该值可以是一个图像文件,我想确保我对图像和普通文件使用两个不同的上传器,因为carrierwave 会为图像生成拇指。

标签: ruby-on-rails ruby attributes carrierwave uploader


【解决方案1】:

在尝试使用 rails_admin gem 时,我必须使其他几个属性可访问,以使通用上传功能正常工作, :img_small_cache 和 :remove_img_small 虚拟属性也是因为只有 :img_small 将文件字符串存储在 db 中

mount_uploader :img_small, ProductImgSmallUploader
attr_accessible :img_small, :img_small_cache, :remove_img_small

也许这有助于找到答案

【讨论】:

    猜你喜欢
    • 2012-02-19
    • 2023-03-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-12-20
    • 1970-01-01
    相关资源
    最近更新 更多