1
我有一個包含4個模型,客戶端,項目,Sprint和任務的應用程序。 Im顯示任務索引與db中的所有taks,即時嘗試設置可排序的列,我實際上做到了,這裏是代碼,即時通訊使用metasearch gem。在rails中排序嵌套屬性列
<%- model_class = Task.new.class -%>
<h1><%=t '.title', :default => model_class.model_name.human.pluralize %></h1>
<table class="table">
<thead>
<tr>
<th><%= sort_link @search, :id %></th>
<th><%= sort_link @search, :client_id%></th>
<th><%= sort_link @search, :name %></th>
<th><%= sort_link @search, :description %></th>
<th><%= sort_link @search, :status %></th>
<th><%= sort_link @search, :created_at %></th>
</tr>
</thead>
<tbody>
<% @tasks.each do |task| %>
<tr onclick="location.href='<%= sprint_task_path(task.sprint_id,task) %>'">
<td><%= task.id %></td>
<td><%= task.sprint.project.client.name %></td>
<td><%= link_to task.name, sprint_task_path(task.sprint_id,task) %></td>
<td><%= task.description %></td>
<% if task.status == nil %>
<td> Incompleta</td>
<%else%>
<td> Completa</td>
<%end%>
<td><%= task.created_at %></td>
</tr>
<% end %>
</tbody>
這是工作,但在第二列這是client_id不是,我想通過客戶端名稱進行排序。 謝謝先進。
我想你應該使用JavaScript來做到這一點。看看這個http://tablesorter.com/docs/#Demo更好的原因有很多,其中一個原因是它的速度更快,因爲每當你對錶格進行排序時,你都沒有去過數據庫 –
他可能正在使用某種分頁,所以,js排序不適合。我認爲 –
只是一個小小的評論,爲了獲得標題,而不是創建一個類的實例,然後詢問該類,只需編寫「Task.model_name.human_name.pluralize」。 – nathanvda