我有一组沿左侧垂直堆叠的导航药丸。每次单击药丸时,我都希望 div “report-html-content” 加载由控制器操作生成的 html 内容,这些内容对应于:program_reports_path(@program)
。
看起来很简单(当然,当然。)这是视图:
<div class="container">
<div class="row">
<div class="span2">
<ul class="nav nav-pills nav-stacked">
<li>
<a href="#" data-toggle="pill">Trend lines for all questions</a>
</li>
<li>
<%= link_to "Summary of all questions", program_reports_path(@program),
:remote => true, id: "reports-navlist", data: {toggle: "tab"} %>
</li>
<li class="active">
<a href="#" data-toggle="pill">Trend lines for all questions</a>
</li>
<li>
<a href="#" data-toggle="pill">Details on all questions</a>
</li>
</ul>
</div>
<div class="span10" id="report-html-content">
</div>
</div>
</div>
这是控制器动作:
def report1
@program = Program.find(params[:program_id])
render :partial => "report1", layout: false
end
它几乎可以工作。除了由于某种原因要求 nav-pill set 对不同的 URL 执行 remote: true 之外,选项卡的激活和停用不再起作用。
我有两个问题:
1)你能看到我的错误吗?
2) 对我来说,使用 Rails 3 和 Twitter Bootstrap 实现这一目标的最佳实践方式是什么,并指出我绝对希望使用 ajax 获取单击选项卡的内容,因为这些报告的计算成本可能很高。
谢谢!