У меня есть приложение rails, которое первоначально использовало Paperclip для загрузки файлов, однако, поскольку я увидел, что 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"=>"sample@example.com", "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, 'sample@example.com', 'Mr Sample', 'Sample content', '2012-03-20 08:51:56', 'Unresolved', 'Sample', '2012-03-20 08:51:56', NULL, NULL, NULL, NULL)
Похоже, что он правильно передает вложение через параметр attachment_cache в параметрах, но затем не сохраняет вложение, так как у него нет поля params [: модель] [: вложение].
Здесь не говорится о каких-либо дальнейших шагах в разделе carrierwave для настройки загрузки при повторном отображении формы на CarrierWave GitHub .