我有一个Project
有很多Pictures
。我使用第一张图片作为链接来调用twitter bootstrap modal,其中将显示一些信息以及项目页面的链接。
<!-- Modal -->
<div id="<%= project.id %>" 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><%= project.title %> <small><%= project.sub_title %></small></h3>
</div>
<div class="modal-body">
<p><%= ActionView::Base.full_sanitizer.sanitize (project.description) %></p>
</div>
<div class="modal-footer">
<button class="btn" data-dismiss="modal" aria-hidden="true">Close</button>
<%= link_to 'More Details', project_path(project), class: 'btn btn-primary' %>
</div>
</div>
为了使模式适用于每个项目,我project.id
已将Modal id
. 所以,我实际上正在创建许多模式,每个项目一个。
<% @projects.each do |project| %>
<%= link_to (image_tag project.pictures.first.url), "##{project.id}", class: 'btn', role: 'button', data: { toggle: 'modal' } %>
<%= render 'projects/modal', project: project %>
<% end %>
好吧,一切都很好,但我不喜欢它!如果我有很多项目,这将成为一个加载问题。
所以,我想找到一种不加载所有模式的方法。我想要一个由项目信息填充的模态模板。
关于如何改进它的任何想法?