我有一个包含3个标签,详细信息,实习生和analyst_system的主页。
在interns选项卡中,我有一个表,对于analyst_system表也是如此。
我想要两个表的可排序列,所以我使用了gem“meta_search”。工作正常,但我的问题是当我点击列名,页面重新加载并转到详细信息选项卡。
所以,我需要使用JS,这是正确的吗? 我正在寻找tutoriais,但我的代码不同,我正在使用渲染部分。
--controller
----welcome_controller.rb
----hr_curriculum_interns_controller.rb
...
views
--welcome
----index.html.erb
--hr_curriculum_interns
----_table_hr_curriculum_interns.html.erb
应用程序/控制器/ welcome_controller.rb
def index
@keyword = params[:keyword]
@category = params[:category]
@search = HrCurriculumIntern.search(params[:search])
@hr_curriculum_interns = @search.all
end
视图/欢迎/索引
<div class="container">
<ul class="tabs" data-tabs data-toggle="tab">
<li class="active"><a href="#main"><%= t('labels.main') %></a></li>
<li><a href="#interns"><%= t('labels.interns') %></a></li>
<li><a href="#analysts"><%= t('labels.analysts') %></a></li>
</ul>
<div class="tab-content">
<div id="main" class="active">
<%= render "search" %>
</div>
<div id="interns" >
<%#= render "hr_curriculum_interns/hr_curriculum_interns_filter" %>
<%= render "hr_curriculum_interns/table_hr_curriculum_interns" %>
</div>
<div id="analysts" >
<%= render "hr_curriculum_systems_analysts/table_hr_curriculum_systems_analysts" %>
</div>
应用程序/视图/ hr_curriculum_interns / _table_hr_curriculum_interns
<table class="zebra-striped">
<thead>
<tr>
<th><%= sort_link @search, :date_interview, t('attributes.date_interview') %></th>
<th><%= sort_link @search, :name, t('attributes.name') %></th>
<th><%= sort_link @search, :college, t('columns.college') %></th>
<th><%= sort_link @search, :major, t('columns.major') %></th>
<th><%= sort_link @search, :answer_sent, t('columns.answer_sent') %></th>
<th></th>
<th></th>
<th></th>
</tr>
</thead>
<tbody>
<%# @hr_curriculum_interns = HrCurriculumIntern.all %>
<% @hr_curriculum_interns.each do |hr_curriculum_intern| %>
<tr>
<td><%= display_date(hr_curriculum_intern.date_interview) %></td>
<td><%= smart_truncate(hr_curriculum_intern.name) %></td>
<td><%= smart_truncate(hr_curriculum_intern.college) %></td>
<td><%= smart_truncate(hr_curriculum_intern.major) %></td>
<td><%= hr_curriculum_intern.answer_sent %></td>
<td><%= show_icon hr_curriculum_intern, hr_curriculum_intern, "data-default-action" => true %></td>
<td> <%= edit_icon hr_curriculum_intern, edit_hr_curriculum_intern_path(hr_curriculum_intern) %></td>
<td><%= link_to image_tag('icons/destroy.png'), hr_curriculum_intern, method: :delete, data: { confirm: t('messages.are_you_sure') } %></td>
</tr>
<% end %>
</tbody>
当我可以对任何列进行排序时,如何才能重新加载页面?
对不起我的英文:PP
答案 0 :(得分:2)
我建议去宝石'data_table'而不是宝石“meta_search”! 这将涵盖您所需的全部内容,例如:
pagination
sorting
searching
因为内部功能由Javascript管理;在排序/搜索它只更新表部分而不是加载完整的页面。