2013-07-07 59 views
0

我想設置store_dir文件上傳到載波,但我想要一個特定的網址結構(就像我使用回形針)。我有兩個版本:main和:thumb,但似乎使用model.id存儲的URL是/MODEl/ID/VERSION_IMAGENAME.FILETYPE。我試圖找出如何構建網址爲/MODEL/ID/VERSION/IMAGENAME.FILETYPE,但我沒有任何運氣。任何幫助?載波版本商店URL

樣本網址:

/event/1/main_IMG1922.JPG,但我想有/event/1/main/IMG1922.JPG。

謝謝!

回答

0

你或許可以做到這一點重寫full_filenamefull_original_filename方法對這個carrierwave wiki page

如圖所示這裏是他們表現出改變文件名從version_foo.jpgfoo_version.jpg的例子。定製它以滿足您的需求。

module CarrierWave 
    module Uploader 
    module Versions 
     def full_filename(for_file) 
     parent_name = super(for_file) 
     ext   = File.extname(parent_name) 
     base_name = parent_name.chomp(ext) 
     [base_name, version_name].compact.join('_') + ext 
     end 

     def full_original_filename 
     parent_name = super 
     ext   = File.extname(parent_name) 
     base_name = parent_name.chomp(ext) 
     [base_name, version_name].compact.join('_') + ext 
     end 
    end 
    end 
end 
+0

我會在初始化程序中創建該文件嗎?我可以看到使它工作,但維基沒有指定文件名或位置來放置覆蓋這些方法的文件。 – Devan

+0

在哪裏放猴子補丁文件是值得商榷的。但它應該在初始化器中工作。這裏有一個相關的SO問題/答案http://stackoverflow.com/questions/3420680/monkey-patching-in-rails-3 – Dty