Как открыть мод загрузки с помощью rails link_tag и remote: true - PullRequest
0 голосов
/ 20 ноября 2018

Я использую рельсы 5.0.2 Мой код страницы просмотра:

 <%= link_to  'Download files',cader_history_path(:job_id => @check_cader[0].job_id), :remote => true, class: "btn btn-link", 'data-toggle' => 'modal', 'data-target' => '#files' %>

Но модал не открылся после выполнения этого вызова как удаленного: true Их как-нибудь наоборот спасибо заранее

Ответы [ 2 ]

0 голосов
/ 21 ноября 2018

1 - Добавьте универсальный модал к вашему макету, например, #defaultModal id.2- В файле ответа js.erb вашего контроллера найдите этот модал и замените его контентом на HTML-контент и покажите модальный.

js.erb file

$('#defaultModal .modal-footer').remove();
$('#defaultModal .modal-body').remove();
$('#defaultModal form').remove();
$('#dynamic-content').html('<%= escape_javascript(render :template => "#{target}", :formats => [:html], :handlers => [:erb]) %>'); //this contains both footer and body
$('#defaultModal .modal-header h4').text('<%= @title %>');
$('.other-modals').modal('hide');
$('#defaultModal').modal('show');

модальный html-файл по умолчанию

<div class="modal fade" id="defaultModal"   aria-labelledby="myModalLabel" aria-hidden="true" data-backdrop="static">
  <div class="modal-dialog">
    <div class="modal-content">
      <div class="modal-header">
        <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
        <h4 id="default-modal-header">.</h4>
      </div>
      <div id="dynamic-content">
        <div id="default-modal-body" class="modal-body">
          <p class='loading'>Loading...</p>
        </div>
        <div id="default-modal-footer" class="modal-footer">
          <%= link_to 'Close', "#", "data-dismiss" => "modal", :class => "btn", "aria-hidden" => true %>
        </div>
      </div>
    </div>
  </div>
</div>
0 голосов
/ 20 ноября 2018

В соответствии с описанием, упомянутым в посте, и опубликованным кодом, похоже, что вы сделали селектор jquery в теге html

<%= link_to  'Download files',cader_history_path(:job_id => @check_cader[0].job_id), :remote => true, class: "btn btn-link", 'data-toggle' => 'modal', 'data-target' => '#files' %>

Измените его на

<%= link_to  'Download files',cader_history_path(:job_id => @check_cader[0].job_id), :remote => true, class: "btn btn-link", 'data-toggle' => 'modal', 'data-target' => 'files' %>

В приведенном выше коде файлы являются идентификатором модального окна, поэтому нет необходимости добавлять "#" перед ним.

...