家长协会中的 CarrierWave 文件上传 store_dir

CarrierWave File Upload store_dir in parent association

我在请求模型和文档模型之间建立了关联。每个请求 has_many 个文件,每个文件 belongs_to 个请求。上传文件并将它们存储到文件夹中效果很好。目前,我的 store_dir 方法如下所示:

def store_dir
  "uploads/Requests/#{model.id}"
end

但是,我想知道如何通过 request.id 然后 model.id:

保存文件
def store_dir
  "uploads/#{request.id}/#{model.id}"
end

这可能吗?希望有人能指出我正确的方向。我不确定如何将请求 ID 传递到 DocumentUploader。

如果需要提供更多信息,请告诉我!

因为 model 是安装上传器的 ActiveRecord 实例,您应该能够使用 ActiveRecord 关联。由于您声明 Document belongs_to a Request (并且我假设 Document 是安装上传程序的 ActiveRecord),您可以获得 Request 的 ID使用 model.request_id(或 model.request.id)。

def store_dir
  "uploads/#{model.request_id}/#{model.id}"
end