CarrierWave Uploader中的其他字段

Tor*_*rBu 10 ruby-on-rails carrierwave

我试图增加额外的字段到CarrierWave上传,让他们与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>似乎还没有被修复.

有关如何最好地完成此任务的任何想法或建议?

MZa*_*oza 3

我不是 100% 清楚你想做什么。

当我使用 Carrierwave 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
Run Code Online (Sandbox Code Playgroud)

由此我总是知道型号、文件类型和 ID。关于该模型的所有其他信息我通常保存在数据库中。

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