在turbolink之后保持bootstrap模态窗口打开

时间:2013-03-12 15:53:55

标签: ruby-on-rails twitter-bootstrap ruby-on-rails-4 turbolinks

我正在使用twitter bootstrap打开模态窗口而不使用JavaScript:

在我的www.domain.com/item/1中

<a data-toggle="modal" class="btn btn-custom" data-target="#myModal" >Add to list</a>

这会触发以下模式:

<div id="myModal" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
            <div class="modal-header">
              <button type="button" class="close" data-dismiss="modal" aria-hidden="true">×</button>
              <h3 id="myModalLabel">Add to list</h3>
            </div>
            <div class="modal-body">
              <table>
<% @my_lists.each do |list| %>
    <tr>
      <td><%= list.name %></td>
      <td>
          <% if Listing.exists?(:item_id => @item.id, :list_id => list.id) %>
                <i class="icon-check"></i>  
          <% else %>
              <%= link_to listing_list_path(:item =>@item.id, :list=> list.id) do %>
                    <i class="icon-check-empty"></i>    
              <% end %>
          <% end %>
        </td>
       </tr>
    <% end %>
</table>
            </div>
            </div>

在我的控制器中:

def listing
  @item = Item.find(params[:item])
  @list = List.find(params[:list])
  @list.add_item(@item)
  redirect_to [:back]
end

当我点击列出该项目时,它会被正确列出,但页面会返回

www.domain.com/item/1

关闭模态窗口。我希望它保持模态开放。我已经尝试重定向到www.domain.com/item/1#myModal,但这不起作用。

我正在使用支持Turbolinks的rails4。

由于

1 个答案:

答案 0 :(得分:0)

可能是因为您没有阻止锚标记的默认行为。

尝试添加此JavaScript以查看其是否有效

$('a[data-toggle=modal]').click (e) -> e.preventDefault()