1
我有一个请求模型和文档模型之间的关联设置。每个请求has_many
文档和每个文档belongs_to
一个请求。上传文件并将它们存储到文件夹中效果很好。目前,我的store_dir
方法是这样的:CarrierWave文件上传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。
如果需要提供更多信息,请告诉我!
哇。非常感谢! – nkulig
这可以起作用,但是如果在父模型之间使用相同的“Carrierwave Uploader”(它们之间共享),则必须使用不同的方法。我的意思是,如果'Requests'和'Invoices'都使用'Documents',那么代码必须从'request_id'或'invoice_id'中提取父'id'。任何想法都非常受欢迎。 –
@ W.M。在这种情况下,每个模型上的def parent_id或类似方法应返回所需的ID。例如:'def parent_id request_id end'。然后,您可以将'store_dir'更改为''uploads /#{model.parent_id} /#{model.id}“'。 – koffeinfrei