2011-08-10 36 views
0

我試圖在我的Sinatra應用程序中使用dm-paperclip處理上載。它可以很好地處理靜態值。但是,當我嘗試使用動態插值時,上傳文件保存路徑的關鍵部分 - 來自dm-paperclip插值的:id變量 - 在寫入時具有一個值,在讀取時具有不同的值。實例ID與Sinatra + DataMapper應用程序中的dm-paperclip不匹配

換句話說,我有這個在我的模型:

has_attached_file :attachment, 
    :url => '/system/attachments/:id/:style/:basename.:extension', 
    :path => "#{APP_ROOT}/public/system/attachments/:id/:style/:basename.:extension" 

# saves to path /my/root/public/system/attachments/217880/original/filename.png 

它上傳,並沒有問題撲救。但是,當我做@file.attachment.path它顯示是這樣的:

/my/root/public/system/attachments/218298/original/filename.png 

我找不到DM-回形針的文檔或論壇上談到這事情。有人請幫忙!我花了數小時...

P.S.我嘗試切換到carrierwave-datamapper,但這不會工作,因爲它與to_json很大程度上失敗,這對我的應用程序至關重要。

回答

0

我知道這並不能回答你的問題,但我建議您切換到carrierwave,DataMapper的 - 這是一個更好的解決方案,文件上傳和什麼是更重要的是它的維護。

+0

嗨,Solnic。你有沒有看到我的P.S.?我也是在github上提交關於cw-dm在to_json和to_xml上失敗的問題的人。現在這是一個破壞交易的行爲。請讓我知道你是否想出了一個解決方案! – glortho

+0

對不起,我沒有注意到'P.S'。無論如何,正如您在關於GH的問題的評論中可能看到的那樣,這是Carrierwave本身的問題,所以我們需要等待修復。修復完成後,我會更新問題。 – solnic

相關問題