回形針使用:url選項有什麼意義? :path選項實際上改變了文件保存的位置,但是:url選項似乎沒有做到這一點。它只在指向可公開訪問的文件位置時纔有效。此時,任何人都可以訪問該網址。如果我更改網址以使其與路徑不匹配,則不起作用。據我所知,它不會以任何方式創建任何路線。有什麼我在這裏失蹤。這個選項有什麼意義?讓別人指定一個:url而不實際創建一個路由似乎過分困惑。回形針:url不會創建路線
0
A
回答
2
我發現this post有助於理解:path
和:url
之間的差異。
:path
設置存儲文件的應用程序中的目錄。:url
設置用戶可以用來訪問圖像的網址。
您是對的,回形針不會爲您創建路線。但是,:url
選項確實可以讓您選擇用戶可以使用哪些(現有)路線下載特定圖像。
:path
和:url
通常是齊頭並進。如果您堅持回形針:default_url
該路徑已爲您配置。只需點擊網址,一切都會正常工作。
更改文件位置
在這個例子中,我呈現的用戶頭像:
<%= image_tag @user.avatar.url %>
現在,讓我們說,你想改變這種圖像的存儲位置,您可以添加以下代碼爲您的型號:
has_attached_file :avatar,
:path => "public/system/:class/:id/:filename"
但是,圖像將無法成功呈現。這是因爲存儲圖像的新路徑與:default_url
不匹配。因此,您還需要指定一個新的URL:
has_attached_file :avatar,
:path => "public/system/:class/:id/:filename"
:url => "/system/:class/:id/:basename.:extension"
現在圖像URL匹配,該文件被存儲在服務器上的位置以及圖像渲染成功。
路徑VS URL
總之,:url
告訴回形針的服務器上的abouts尋找一個圖像。 :path
在創建或更新記錄時會告訴回形針上傳圖像的位置。
:path
和:url
都應指向相同的位置,以便成功呈現圖像。
相關問題
- 1. 回形針定製:路徑:URL
- 2. 回形針不會在heroku上創建縮略圖
- 3. 回形針URL返回asset_host
- 4. 新的導軌/回形針 - 回形針不會保存
- 5. 爲回形針附件創建自定義URL
- 6. 我將如何爲回形針附件創建作用域url?
- 7. Rails回形針路徑和URL不公開...如何?
- 8. 回形針2.3.5到3.3.1導致url不同於路徑
- 9. Rails4 +回形針:Url和路徑不匹配
- 10. 爲回形針附件創建sha1路徑
- 11. 回形針遠程URL
- 12. 使用回形針創建mp3上傳
- 13. 回形針:路徑參數
- 14. 回形針路由錯誤
- 15. aws回形針的路徑
- 16. 可調回形針路徑
- 17. Rails 4 +回形針:如何獲取回形針文件的URL
- 18. 創建路線
- 19. Mongoid回形針不會上傳
- 20. 回形針has_one協會
- 21. 如果原始文件太小,回形針不會創建縮略圖
- 22. python不會創建線程?
- 23. 使用對象值的回形針路徑/ URL
- 24. 軌回形針上傳自定義URL路徑
- 25. Rails 4,回形針,S3錯誤的URL路徑
- 26. 回形針創建具有不正確權限的文件夾
- 27. Laravel創建路線
- 28. 創建KML路線
- 29. '與Heroku上的回形針和S3無匹配路線'
- 30. 導軌 - 用於設置路線定製回形針網址的
如果我只能將':url'指向已經存在的路線,那有什麼意義?如何使用此選項有幫助?如果已經有一條路線,是不是我的工作完成了? – wdhilliard 2014-10-08 13:39:24
@wdhilliard我已經用更好的解釋更新了我的答案。本質上':url'告訴回形針在哪裏訪問你的圖像。 ':path'告訴回形針在哪裏上傳圖片。他們需要匹配才能成功呈現圖像 – 2014-10-08 20:48:09
我認爲我的困惑是由於我沒有使用Paperclip爲我生成網址。感謝您的詳細解答。 – wdhilliard 2014-10-08 21:54:58