загрузочные модальные окна и турбоссылки

Я использую следующий код в Rails 4 с турболинками и jquery.turbolinks, он работал до добавления турболинков, затем, когда я удалил турболинки, он все еще не работал (ни объекты link_to теперь не переключают модальный режим):

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

<% if proposta.parecer %>
    <%= link_to '', '#', class: 'parecer-proposta md-trigger parecer ' + (proposta.parecer.status == "indica" ? 'aprovado' : 'reprovado'), data: { modal: 'modal-parecer', proposta: proposta.id, tem_parecer: true, parecer: proposta.parecer.parecer, status: proposta.parecer.status, responsavel: proposta.parecer.sociedade.nome, data_parecer: proposta.parecer.created_at.strftime("%d/%m/%Y - %H:%M")} %>
<% else %>
    <%= link_to 'Enviar', '#', class: 'parecer-proposta md-trigger', data: { modal: 'modal-parecer', proposta: proposta.id, tem_parecer: false } %>
<% end %>
.
.
.
.

#_modal_parecer.html.erb

<div class="md-modal md-effect-6" id="modal-parecer">
  <div class="md-content">
   ...
  </div>
</div>

<div class="md-overlay"></div>

person Marcelo Risoli    schedule 01.12.2014    source источник


Ответы (1)


Обычно на готовой странице bootstrap js ищет страницу, чтобы увидеть, существует ли переключатель данных и цель, а затем привязывает к этому событие. При смене страницы событие обрывается, но bootstrap js существует, так как перезагружается только тело из-за турболинков, .

Таким образом, используя хуки turbolinks «page:change» или «page:load», мы можем сообщить bootstrap js, где находятся ваши модальные окна и что их нужно активировать.

Дайте мне знать, если это работает:

$(document).on('page:load', function(){

  $(document).on('click', 'ID/Class of the link', function() {

    $('#myModal').modal();

  });

});
person sidegeeks    schedule 04.02.2015