我有一個最初使用Paperclip進行文件上傳的rails應用程序,但是,正如我看到CarrierWave顯然具有通過重新顯示形式的「持久上傳」類型功能,我決定試一試。CarrierWave在表單重新顯示後沒有保存上傳
在我看來,我有以下幾點:
= f.input :attachment
= f.hidden_field :attachment_cache
如果表單驗證失敗而被重新顯示哪個正確緩存文件,但是當我糾正驗證錯誤並重新提交,附件不被處理。
Started POST "/section/model" for 127.0.0.1 at 2012-03-20 08:51:56 +0000
Processing by Client::WishesController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"zkdPQBsAnsNzx555rkwZ5+clfnLaXg+NtL+GdFei188=", "model"=>{"title"=>"Sample", "content"=>"Sample content", "contact_name"=>"Mr Sample", "contact_email"=>"[email protected]", "attachment_cache"=>"20120320-0851-42559-1644/SampleAttachment.pdf"}, "commit"=>"Create Wish"}
Client Load (0.3ms) SELECT `clients`.* FROM `clients` WHERE `clients`.`id` = 1 LIMIT 1
(0.2ms) BEGIN
SQL (0.4ms) INSERT INTO `models` (`attachment`, `client_id`, `contact_email`, `contact_name`, `content`, `created_at`, `status`, `title`, `updated_at`, `upload_content_type`, `upload_file_name`, `upload_file_size`, `upload_updated_at`) VALUES (NULL, 1, '[email protected]', 'Mr Sample', 'Sample content', '2012-03-20 08:51:56', 'Unresolved', 'Sample', '2012-03-20 08:51:56', NULL, NULL, NULL, NULL)
這似乎通過在PARAMS的attachment_cache被正確地傳遞附件,但它不然後保存,因爲它不具有PARAMS附件[:模型] [:附件]字段。
它沒有在carrierwave部分中提出任何進一步的步驟,以使上傳在CarrierWave GitHub上的表單重新顯示中工作。
它的工作原理如果我創建/更新與質量賦值,並設置單獨的變量,但我想知道是否有辦法做到這一點沒有質量分配? – HaaR 2012-03-20 11:03:49
考慮[打開票](https://github.com/jnicklas/carrierwave/issues)。 – 2012-03-20 20:45:13
你找到了答案嗎? – user749798 2013-05-08 01:10:55