【发布时间】:2016-04-28 10:00:28
【问题描述】:
我正在使用 Bootstrap 开发 Rails 应用程序。在我的一种观点中,我使用了“标签”:
<ul class="nav nav-tabs" id="myTab" role="tablist">
<li class="nav-item">
<a class="nav-link active" data-toggle="tab" href="#home" role="tab" aria-controls="home">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#profile" role="tab" aria-controls="profile">Profile</a>
</li>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#messages" role="tab" aria-controls="messages">Messages</a>
</li>
</ul>
<div class="tab-content">
<div class="tab-pane active" id="home" role="tabpanel">...</div>
<div class="tab-pane" id="profile" role="tabpanel">...</div>
<div class="tab-pane" id="messages" role="tabpanel">...</div>
</div>
如果它是硬编码的 HTML,这可以正常工作。当我在“nav-tabs”项中动态添加一个额外的“li”时:
<% if @customer.profiles.present? %>
<% @customer.profiles.each_with_index do |profile,index| %>
<li class="nav-item">
<a class="nav-link" data-toggle="tab" href="#profile<%=index%>" role="tab"> profile-<%=index%> </a>
</li>
<% end %>
<% end %>
和“标签内容”中的“div”都具有唯一编号:
<% if @customer.profiles.present? %>
<% @customer.profiles.each do |profile,index| %>
<div class="tab-pane" id="profile<%=index%>" role="tabpanel">
<%= render :partial => 'profiles/homes_pane' , :locals => { :profile => profile} %>
</div>
<% end %>
<% end %>
在 'href' 和 'id' 中添加,选项卡不再工作。
因此,Bootstrap 似乎没有将 javascript 绑定到动态生成的 HTML 元素。
我是做错了什么还是需要解决方法。欢迎提出任何建议。
最好的问候, 马丁
【问题讨论】:
标签: javascript ruby-on-rails views erb bootstrap-4