2014-01-16 68 views
1

我有一個包含3個選項卡,詳細信息,實習生和analyst_system的主頁面。JS渲染偏好,如何不重新加載頁面?

在實習生選項卡中,我有一個表,對於analyst_system表是相同的。

我想排序列這兩個表,所以我用寶石「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

回答

2

我建議去寶石「data_table」,而不是寶石「meta_search」! 這將滿足你的所有要求,如:

pagination 
sorting 
searching 

如上內部功能爲JavaScript,因此管理;在排序/搜索時只更新表格部分,而不是加載完整的頁面。

關注這個: http://railscasts.com/episodes/340-datatables

+0

謝謝,我會使用該=] –