2013-12-11 44 views
1

絕對路徑我想要的是/Users/Hsu-Wei-Cheng/Dropbox/Rails/zeus/public/uploads/local_display_multi_lang/xml/8/results.zip的Rails.root.join將錯過在某些條件下,Rails.root路徑

/uploads/local_display_multi_lang/xml/8/results.zip存儲在local_display_multi_lang.result

於是,我就用Rails.root.join方法獲取我係統中的絕對路徑。

通過Rails.root.join("public", local_display_multi_lang.result.to_s)

但它沒有工作,我得到了:/uploads/local_display_multi_lang/xml/8/results.zip

什麼錯誤我犯了?謝謝

[3] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public", local_display_multi_lang.result.to_s) 
=> #<Pathname:/uploads/local_display_multi_lang/xml/8/results.zip> 
[4] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root 
=> #<Pathname:/Users/Hsu-Wei-Cheng/Dropbox/Rails/zeus> 
[5] pry(#<#<Class:0x007fe7ae84f038>>)> local_display_multi_lang.result.to_s 
=> "/uploads/local_display_multi_lang/xml/8/results.zip" 
[6] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public") 
=> #<Pathname:/Users/Hsu-Wei-Cheng/Dropbox/Rails/zeus/public> 
[7] pry(#<#<Class:0x007fe7ae84f038>>)> local_display_multi_lang.result.to_s 
=> "/uploads/local_display_multi_lang/xml/8/results.zip" 
[8] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public", local_display_multi_lang.result.to_s) 
=> #<Pathname:/uploads/local_display_multi_lang/xml/8/results.zip> 
[9] pry(#<#<Class:0x007fe7ae84f038>>)> Rails.root.join("public", local_display_multi_lang.result) 
=> #<Pathname:/uploads/local_display_multi_lang/xml/8/results.zip> 

回答

1

因爲local_display_multi_lang.result.to_s是絕對路徑。

嘗試

Rails.root.join("public", local_display_multi_lang.result.to_s[1..-1]) 
+0

謝謝,但現在我有一些絕對路徑一些相對路徑。有沒有內建函數可以修復? – newBike