我正在Rails 3中建立一個自定義圖像上傳表單(回形針/ carrierwave不是我們設置的選項),並且需要執行經典的「驗證失敗時持久化圖像」方案。在Rails 3中做什麼「最佳實踐」方法?Rails 3緩存文件上傳
摘要:
- 用戶填寫表格圖像
- 用戶點擊「發送表單」
- 表單驗證失敗
- 用戶現在應該看到他們在形式上傳的,而不是需要的圖像再次選擇它
我正在Rails 3中建立一個自定義圖像上傳表單(回形針/ carrierwave不是我們設置的選項),並且需要執行經典的「驗證失敗時持久化圖像」方案。在Rails 3中做什麼「最佳實踐」方法?Rails 3緩存文件上傳
摘要:
如果你從頭開始做,你必須把文件放入上傳目錄(或創建一個在其中存儲新目錄以存儲不同版本),並將臨時文件名存儲到模型的一個未保留字段中。
例如,不持久化領域可以被命名爲photo_cache_dir:
attr_accessible :foo, :bar, :photo_cache_dir
attr_accessor :photo_cache_dir
在模板中,您只需檢查該字段存在:
...在那情況下,使用自己的邏輯,顯示上傳的照片。
我不知道這是否是最佳做法,但這是我正在使用的,它的工作得很好。
file_upload_cache gem與carrierwave兼容,適用於carrierwave不起作用的情況。
它也可以獨立工作,無需使用載波。
的文檔是在這裏:https://github.com/kenmazaika/file_upload_cache
披露:我創作這個寶石。
閱讀載波源代碼 – iwasrobbed
你將不得不實施像carrierwave這樣的東西。查看「使上傳工作跨表單重新顯示」下的carrierwave自述文件。 https://github.com/jnicklas/carrierwave/blob/master/README.md –
感謝您的建議傢伙 - 你們中的任何人都有一個想法,這將位於源代碼的位置?我很難找到它... – Houen