Ответ не вставлен в документ HTML, rails remotipart cocoon

Я использую cocoon gem cocoon для динамического рендеринга моих файловых полей в HTML, чтобы я мог отправить их обратно в rails. Проблема заключается в коконе и remotipart gem remotipart (обработчик удаленной загрузки файлов), когда изображения отправляются с верной или недопустимой отправкой формы, и вы хотите перерисовать частичную форму, чтобы снова создать изображения, если форма отправлена ​​с добавленными изображениями с коконом где-то в обратном вызове браузера ответ не вставляется в HTML-документ, однако весь ответ находится в теле ответа браузера. Ответ действителен, т.е. все внутри <form> теги при вставке в документ из тела ответа отображаются точно так, как и должно быть.

Проблема не возникает, когда я отображаю другое представление, например, индекс из моего new.js.erb файл, где нет кокона, поэтому где-то что-то идет не так. Когда remotipart делает свое дело и remotipart-submitted = true когда вы добавляете картинки в вывод сервера, что-то должно происходить, когда все возвращается в браузер.

В консоли нет ошибок js.

Я сузил проблему, чтобы быть между коконом и remotipart в форме, где fields_for используется для вывода частичных

К вашему сведению, тело ответа оборачивается тем же кодом, если я не использую кокон для вложенных полей, а просто использую одно поле файла, а одно поле файла правильно вставляет ответ. Например,

Поля вложенных файлов Cocoon и тело ответа,

form
...
<%= f.fields_for :pictures do |pic| %>
  <%= render 'picture_fields', f: pic %>
<% end %>
...

response body

<script type="text/javascript">try{window.parent.document;}catch(err){document.domain=
document.domain;}</script>
<textarea data-type="text/javascript" data-status="200" data-statusText="OK">
$("div#id5").html("<form class=\"new_gallery\" id=.... LOTS OF CODE....<\/form>");</textarea>

Одно поле файла и тело ответа,

form
...
<%= f.fields_for :pictures do |pic| %>
  <%= pic.file_field :picture %>
<% end %>
...

response body

<script type="text/javascript">try{window.parent.document;}catch(err){document.domain=
document.domain;}</script>
<textarea data-type="text/javascript" data-status="200" data-statusText="OK">
$("div#id5").html("<form class=\"new_gallery\" id=... LOTS OF CODE....<\/form>");</textarea>

Мне было интересно, если кто-нибудь может помочь мне решить эту проблему?

Благодарю.

0 ответов

Другие вопросы по тегам