Почему этот Rails ajax частично обновляется при первом запросе, а не при последующих? - PullRequest
0 голосов
/ 03 июня 2018

У меня разочаровывающая проблема с ajaxified Rails.По первому запросу частичное заменяется, как и ожидалось.При всех последующих запросах частичное загружается правильно, но оно не добавляется в DOM.Должно быть, я упускаю из виду кое-что очевидное здесь (возможно, связанные с Turbolinks?).Кто-нибудь может помочь?

#myobjects/index.html.erb

<div id="container">
<%= render partial: "myobjects/myobject", collection: @myobjects %>
</div>

<%= link_to "All", myobjects_path, remote: true %>
<%= link_to "Approved", myobjects_path(filtered: "approved"), remote: true %>
<%= link_to "Rejected", myobjects_path(filtered: "rejected"), remote: true %>

#myobjects/index.js.erb
$('#container').html("<%= render partial: 'myobjects/myobject', collection: @myobjects");

Пример:

  1. Я загружаю индекс myobjects, отображаются все записи.
  2. Я нажимаю ссылку Approved, отображаются только утвержденные записи.
  3. Я нажимаю одну из других ссылок, DOM не меняется.

Я вижу, что партиал myobjects/_myobject.html.erb загружается правильно, даже в пункте 3 выше.Если я добавлю <% Rail.logger.info myobject.to_yaml %> правильные данные записи будут напечатаны в журнал.Однако частичное не добавляется в DOM.

Чего мне не хватает?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...