2010-10-24 9 views
13

Estoy usando la siguiente etiqueta de formulario para @jobs que tiene fotos de trabajo incluidas.¿Es posible en Rails3, tener una forma multiparte => true & use remote => true

<% form_for @jobs, :html => { :multipart => true }, :remote => true do |f| %> 

La forma funciona bien no a distancia, pero si añado el mando a distancia => true, el formulario envía, devuelve create.js pero no guardar nada en la base de datos o un error?

Respuesta

15

Lo que pasa es que no se puede publicar un formulario multiparte a través de AJAX. Esta no es una limitación de los carriles. Para eludir esto, debe utilizar una técnica de iframe (que puede ser más fácil con el complemento responds_to_parent) o utilizar una tecnología como Flash o Silverlight.

+8

La razón por la que AJAX y la carga de archivos no riman es que Javascript no tiene acceso a su sistema de archivos y, por lo tanto, no puede construir la solicitud desde el archivo. En una forma multiparte, el navegador tiene acceso a su sistema de archivos y, por lo tanto, puede realizar una solicitud POST que contenga el archivo. – Grav

+1

Eso apesta. Yo quería hacerlo. Siento que perdí las últimas 3 horas escribiendo esto para darme cuenta de que no iba a funcionar: p – nzifnab

+0

Comprueba la gema remotipart como en la respuesta de Musaffa. Funciona como un encanto, y es una adición de dos líneas. – theIntuitionist

8

Puede usar la gema Remotipart para cargas de archivos con remote =>true.

+1

esta joya rocas! – okliv

Cuestiones relacionadas