ruby on rails:用于不同页面的选项卡
ruby on rails: tabs for different pages
我正在做一个ruby on rails应用程序,我有三个选项卡,可以按投票顺序排列我的帖子,最近的和最旧的。标签页只更改部分内容,不刷新。如果没有3个不同的页面,我该怎么做?例如http://127.0.0.1:3333/performance_indicators/1?votes
http://127.0.0.1:3333/performance_indicators/1?recent
http://127.0.0.1:3333/performance_indicators/1?oldest
我想更改页面刷新它(类似于stackOverflow的选项卡系统)
我的html标签是这样的:
<div id="tabs-container" >
<ul class="nav nav-tabs">
<li class="active test" id="recent" title="Order recommendations by Votes"><a href="#tab-1" >Votes</a></li>
<li class="test" id="votes" title="Order recommendations by Recent"><a href="#tab-2">Recent</a></li>
<li class="test" id="oldest" title="Order recommendations by Oldest"><a href="#tab-3">Oldest</a></li>
</ul>
</div>
<div class="tab">
<div id="tab-1" class="tab-content">
<p><%= render partial: 'improvement_actions/improvement_action', collection: @performance_indicator.improvement_actions.order(cached_votes_score: :desc), locals: { tab: "votes" } %></p>
</div>
<div id="tab-2" class="tab-content">
<p><%= render partial: 'improvement_actions/improvement_action', collection: @performance_indicator.improvement_actions.order("created_at DESC"), :locals => { tab: "recent" } %></p>
</div>
<div id="tab-3" class="tab-content">
<p><%= render partial: 'improvement_actions/improvement_action', collection: @performance_indicator.improvement_actions.order("created_at ASC") , :locals => { tab: "oldest" } %></p>
</div>
</div>
这是我的js代码:
$(document).ready(function() {
$(".nav-tabs a").click(function(event) {
event.preventDefault();
$(this).parent().addClass("active");
$(this).parent().siblings().removeClass("active");
var tab = $(this).attr("href");
$(".tab-content").not(tab).css("display", "none");
$(tab).fadeIn();
});
});
如何在3个不同的页面中呈现此部分?
在url的同时传递一个参数以指定要选择的选项卡,如:
<div id="tabs-container" >
<ul class="nav nav-tabs">
<li class="<%= 'active' if params[:tab] == 'votes' %> test" id="votes" title="Order recommendations by Votes"><a href="/performance_indicators/1?tab=votes" >Votes</a></li>
<li class="<%= 'active' if params[:tab] == 'recent' %> test" id="recent" title="Order recommendations by Recent"><a href="/performance_indicators/1?tab=recent">Recent</a></li>
<li class="<%= 'active' if params[:tab] == 'oldest' %> test" id="oldest" title="Order recommendations by Oldest"><a href="/performance_indicators/1?tab=oldest">Oldest</a></li>
</ul>
</div>
<div class="tab">
<% collection = [] %>
<% if params[:tab] == "votes" %>
<% collection = @performance_indicator.improvement_actions.order(cached_votes_score: :desc) %>
<% elsif params[:tab] == "recent" %>
<% collection = @performance_indicator.improvement_actions.order("created_at DESC") %>
<% elsif params[:tab] == "oldest" %>
<% collection = @performance_indicator.improvement_actions.order("created_at ASC") %>
<% end %>
<div class="tab-content">
<p><%= render partial: 'improvement_actions/improvement_action', collection: collection, locals: { tab: params[:tab] } %></p>
</div>
</div>
这将适用于重定向链接为您想要的3页。
相关文章:
- jQuery-On按钮点击触发器选择选项
- ruby on rails:用于不同页面的选项卡
- On为<选项>选择等效项
- socket.io ON不会断开设备睡眠,关闭浏览器,更改选项卡
- jQuery on change仅显示所选选项,删除/禁用其余选项
- 如何防止 ASP.NET 下拉列表在选择ON选项时触发其onclick事件
- Socket.io 每个浏览器选项卡的 socket.on 触发器
- 在 jQuery AJAX 选项卡中使用 preventDefault() 和 on()
- Jquery on 按钮单击获取所选选项值
- Dojo和javascript:onclick-on-anchor选项卡中的轻量级工具提示
- 使用jquery.on()方法处理同一元素(选项标记)的两个脚本之间的冲突
- Ruby on rails-使用AJAX更新输入-选择选项
- Chrome扩展选项卡on更新事件
- 链接collection_select菜单选项到一个过滤器方法——Ruby on Rails
- 用作委托人时传递到 .on 的有效候选项
- Knockout JS删除选项,如果value大于(on foreach)
- 在Angular Material的md选项卡中使用md-on-select会延迟UI
- Angular js, on ng-change如何更新其他select控件的选项
- Select value with on change event不会改变选项
- Opera mini 6显示缩放视图(与移动视图on选项相同)