with tutorial multiple files aws ruby-on-rails carrierwave ruby-on-rails-4

ruby on rails - tutorial - Rails file_field no carga nada



file upload with carrierwave (1)

Bien, después de pasar horas al respecto, el problema es que jQuery Mobile envía formularios con Ajax de forma predeterminada, y los archivos no se pueden enviar con Ajax sin usar complementos, etc. Por lo tanto, la solución es deshabilitar el Ajax de esta manera:

= form_for(@business_profile, :url => business_profile_path, :validate => true, :html => { :''data-ajax'' => false }) do |f|

Estoy usando Rails 4 y Ruby 2 con Carrier Wave junto con jQuery Mobile 1.3, y un usuario tiene un perfil que tiene un logotipo. He probado las cosas de fondo de Carrier Wave en la consola y funciona.

El problema está en el formulario de ayuda, no importa lo que haga, pero se mostrará un file_field y me permitirá elegir una imagen, pero no aparece en los parámetros. Si lo cambio a un campo que no existe, por ej. =f.file_field :field_not_permitted_in_strong_params no se cae y un selector de archivos es visible, si cambio eso a =f.text_field :field_not_permitted_in_strong_params , solo entonces los rails se =f.text_field :field_not_permitted_in_strong_params y se quejan de que el campo no existe.

Así que mi problema es básicamente, puedo subir un archivo al lado del cliente, pero no se envía a través de los datos del formulario, ni aparece en el hash de params, y todos mis otros campos funcionan correctamente.

Aquí hay un fragmento del formulario:

= 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''