如何使用link_to添加bootstrap模式,以便在模态中打开链接内容?

时间:2013-03-01 07:12:46

标签: ruby-on-rails ruby-on-rails-3 twitter-bootstrap

我正在尝试在rails链接上使用bootstrap模态http://twitter.github.com/bootstrap/javascript.html#modals来打开模态中的链接

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

但不知怎的,它不起作用。标准切换代码为 -

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

但我不知道如何将它应用于rails中的link_to,有什么帮助吗?

由于

3 个答案:

答案 0 :(得分:37)

如果您想在隐藏状态

的页面上预加载模态,下面是代码
<%= 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" %>')

确保每个模态正文都有唯一 ID或类。

假设您要使用模式表单创建新帖子,控制器代码和_form.html.erb已就位

答案 1 :(得分:18)

在Rails中添加data属性有一种更漂亮的方法。你可以做这样的事情来获得相同的结果。

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

答案 2 :(得分:-2)

在替补席上面的答案中存在语法错误。

试试这个:

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