6
Paperclip提供了一個.url方法,用於獲取包含在視圖中的附件的URL。在Ruby中打開回形針附件的標準/正確方法是什麼?
我需要在Ruby中實際打開一個附件作爲文件。
大約六個月前,Paperclip的最新版本允許我們在附件對象上調用to_file。雖然它沒有記錄,但它一直工作。但在某個時候它停止了工作。
我希望能夠在驗證器中打開文件本身(在這種情況下,它尚未保存到最終位置),或者在保存ActiveModel對象後從其他方法打開文件(在這種情況下該文件已被移至最終位置,可能位於Amazon S3上)。
好像有三種選擇:
file = File.new(object.attachment.path)
...只與本地文件,而不是那些在S3工作。或者:
file = object.attachment.queued_for_write[:original]
...哪些只在第一次保存(我認爲)之前工作?
似乎應該有一個簡單的方法來打開該文件(在類似Amazon S3的情況下,可能需要將其複製到臨時位置),我猜測答案有些事情要做與io_adapters,但我已經通讀代碼(和不少StackOverflow的問題),我仍然難住。
是否有一種標準的方式來打開一個回形針附件作爲一個文件,在所有情況下工作?
這是否需要該文件已保存?當文件是臨時的正確方法應該工作。 – DDDD
這不當文件不在S3上時工作 - 例如,dev與prod。 – user1032752