2011-12-28 94 views

回答

1

我用這裏所描述的技術:How to assign a remote file to Carrierwave?

這可能不是最好的方法,但它爲我工作。我的遠程文件恰好是舊的文件名/路徑。

首先,我更改了Carrierwave上傳器以獲得我想要的新文件名稱樣式。然後,我寫了一個rake任務通過記錄遍歷和更新文件是這樣的:

model.remote_image_url = old_image_url 
model.save! 

這將重新上載現有的文件,設置根據您的更新上傳的名稱/路徑(並重新創建所有版本)。我還沒有解決清理舊文件的問題,但我不確定如果您的store_dir是相同的(我的更改也如此),這將如何工作。

請務必在通過整個桌子之前徹底測試一些記錄,否則容易造成混亂的事情。請注意,更改store_dir會打破現有文件的所有查找。

2

Carrierwave的locomotive branch似乎已經重新命名支持 - 具體文件是here

有主,當你轉換文件類型file rename support,但沒有重命名支持:

"This should help with situations where a file has multiple versions, 
and at least one of the versions is of a different format than the master version." 
0

發現這個,好像過時了,但也許可以幫助別人: https://github.com/stvkoch/carrierwave_single_store