Ответ не вставлен в документ 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>
Мне было интересно, если кто-нибудь может помочь мне решить эту проблему?
Благодарю.