Подтвердить что ты не робот

Как добавить bootstrap modal с link_to, чтобы содержимое ссылки открылось в модальном?

Я пытаюсь использовать bootstrap modal http://twitter.github.com/bootstrap/javascript.html#modals на ссылку rails, чтобы открыть эту ссылку в модальном

<%= link_to page_path, target: '_blank' %>

но как-то он не работает. Стандартный код переключения -

<a data-toggle="modal" href="#myModal" class="btn">Launch demo modal</a>

но я не уверен, как применить его к link_to в rails, любую помощь?

Спасибо

4b9b3361

Ответ 1

Ниже приведен код, если вы хотите предварительно загрузить мода на странице в скрытом состоянии

<%= link_to "Open modal", "#my-modal", :class => "btn", "data-toggle" => "modal" %>
<div class="modal hide fade" id="my-modal" title="My modal">
  <div class="modal-header">
    <button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>
    <h3 id="myModalLabel">Modal header</h3>
  </div>
  <div class="modal-body">
    Modal Body
  </div>
  <div class="modal-footer">
    <button aria-hidden="true" class="btn" data-dismiss="modal">Close</button>
  </div>
</div>

И если вы хотите загрузить модальный через ajax, тогда вы можете сделать что-то вроде этого

<%= link_to "Open modal", new_post_path, :class => "btn", :remote => true, "data-toggle" => "modal", "data-target" => "my-modal" %>
<div class="modal hide fade" id="my-modal" title="My modal">
  <div class="modal-header">
    <button aria-hidden="true" class="close" data-dismiss="modal" type="button">×</button>
    <h3 id="myModalLabel">New Post</h3>
  </div>
  <div class="modal-body a-unique-class">
    New Post Body
  </div>
  <div class="modal-footer">
    <button aria-hidden="true" class="btn" data-dismiss="modal">Close</button>
  </div>
</div>

В posts/new.js.erb вы включили

$(".a-unique-class").html('<%= j render "posts/_form" %>')

Убедитесь, что у вас есть уникальный идентификатор или класс для каждого модального тела.

Предполагая, что вы хотите создать новый пост с использованием модальной формы, код контроллера и _form.html.erb находится на месте

Ответ 2

Существует более красивый способ добавления атрибутов data в Rails. Вы можете сделать что-то подобное, чтобы получить те же результаты.

<%= link_to 'Click Here', "#", data: {toggle: "modal", target: "#modal"} %>

Ответ 3

В ответе ниже приведена синтаксическая ошибка.

попробуйте это вместо:

$(".a-unique-class").html('<%= j render "posts/form" %>')