Я использую Rails 4 и Ruby 2 с несущей волной вместе с jQuery Mobile 1.3, а пользователь имеет профиль с логотипом. Я протестировал бэкэнд-материал Carrier Wave на консоли, и он работает.Rails file_field ничего не выгружает
Проблема в помощнике формы, неважно, что я делаю, но отобразится поле file_field и позвольте мне выбрать изображение, но оно не проходит в параметрах. Если я изменю его на поле, которое не существует, например. =f.file_field :field_not_permitted_in_strong_params
он не падает и отображается сборщик файлов, если я изменяю его на =f.text_field :field_not_permitted_in_strong_params
, только тогда рельсы пинают и жалуются на не существующее поле.
Так что моя проблема в основном, я могу загрузить клиентскую часть файла, но она не отправляется через данные формы или не появляется в хеше params, и все мои другие поля работают правильно.
Вот фрагмент вида:
= form_for(@business_profile, :html => {:multipart => true}, :url => business_profile_path, :validate => true) do |f|
=image_tag(@business_profile.logo.url, class: 'business-logo')
%div{:data => {:role => 'fieldcontain'}}
=f.file_field :logo
- # Basic Information
%div{:data => {:role => 'collapsible', :collapsed => 'false'}}
%h3
Basic Information
%div{:data => {:role => 'fieldcontain'}}
= f.label :name, 'Business name:'
= f.text_field :name
%div{:data => {:role => 'fieldcontain'}}
= f.label :address, 'Address:'
= f.text_area :address, class: 'address'
только в качестве побочного сведению, я думаю, что вам не нужно устанавливать многочастному. это из документации FormHelper.file_field «Использование этого метода внутри блока form_for будет устанавливать кодировку входящей формы в multipart/form-data». – phoet
@phoet Spot on, к сожалению, что-то еще несет ответственность за выпуск – Lee