我正在尝试将其他字段添加到CarrierWave Uploader中,以便将它们存储为Uploader本身的一部分,并与CarrierWave字段一起存储,例如@file@model@storage等。

这些字段也是特定于版本的,这就是为什么我希望能够通过<my_model>.<my_uploader>.attribute<my_model>.<my_uploader>.versions[:<the_version>]而不是模型中的其他列来访问它们。

我确实尝试过carrierwave-meta gem,但遇到了错误(NoMethodError: undefined method \'original_filename' for #<CarrierWave::Storage::Fog::File:0xab4134c>)
似乎尚未修复。

关于如何最好地做到这一点的任何想法或建议?

最佳答案

我不是100%清楚您要做什么。

当我使用载波 gem 时,确实会创建一条包含某些信息的路径。在我的应用程序中,我通常有一个文件 app/uploaders/image_uploader.rb

  class ImageUploader < CarrierWave::Uploader::Base
    include CarrierWave::RMagick
    def store_dir
      # "uploads/image/file/187/"
      "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
    end
    ...
  end

由此,我总是知道模型,什么类型的文件以及ID。
我通常将有关此模型的所有其他信息保存在数据库中。

希望这对您有所帮助,并为您指明了正确的方向

关于ruby-on-rails - CarrierWave Uploader中的其他字段,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28572604/

10-12 19:43