Используйте JS для изменения с удаленного на неудаленный в Rails 3, HAML.

Проблема в том, что у меня есть удаленная форма, которую, исходя из условия, я хотел бы преобразовать в неудаленную форму (используя UJS), а затем отправить. обратите внимание, что форма имеет загрузку файла.

Вот подробности: я первоначально визуализировал удаленную форму, используя

= form_for @myobj, :url => {:action=>"remoteAction", :controller=>"myobjects"}, :remote => true do |f|
... (f.fields....)

, которая создает HTML:

<form id="new_myobj" class="new_myobj" method="post" accept-charset="UTF-8" data-remote="true" action="/remoteAction">

когда я нажимаю кнопку «Отправить», как и ожидалось, форма отправляется «AS JS». в действии контроллера я выполняю некоторую проверку полей внутри отправленной формы. Если все проверки пройдены, я выполняю следующий шаблон .js.haml:

$('form#new_myobj').removeAttr("data-remote");
$('form#new_myobj').attr('enctype', 'multipart/form-data');
$('form#new_myobj').attr('action', '/myobjects/regularAction');

, который успешно изменяет HTML на странице (засвидетельствовано через Firebug) на:

<form id="new_myobj" class="new_myobj" method="post" accept-charset="UTF-8" enctype="multipart/form-data" action="/myobjects/regularAction">

, поскольку форма содержит поле f.file_field, я должен отправить как составной, поэтому изображение можно загрузить, и я не могу отправить «AS JS» теперь, когда я нажимаю кнопку «Отправить», действие контроллера «regularAction» действительно вызывается, но это все еще «AS JS»

. Вопрос в том, что еще мне нужно изменить в HTML, чтобы форму можно было отправить без xhr. ? связано ли это с заголовками?

15
задан Sami Begg 28 March 2012 в 12:09
поделиться