У меня есть индекс, который отображает все текущие созданные dprojects.Я работаю над возможностью щелкать заголовки таблицы, чтобы отсортировать данные по этому параметру.У меня все это работает, за исключением одного столбца.В этом столбце отображаются наши клиенты по номеру, который мы им присвоили.Например, «Клиент А» - это «008».В таблице «dprojects» есть столбец для идентификатора клиента, а в таблице «школы» есть столбцы как для идентификатора, так и для фактического имени клиента.
Поскольку это индекс «dprojects», таблицасортировка по идентификатору, связанному с клиентом, а не по имени клиента.Как я могу заставить его сортировать по алфавиту по имени?Вот мой код:
view: (dname - имя клиента в модели школы)
<table>
<thead>
<tr style="border-bottom: 2px solid black;">
<th> <%= sortable "scode", "School" %></th>
</tr>
</thead>
<tbody>
<% @dprojects.where.not(status: "Completed").each do |dproject| %>
<tr>
<td width="20%" class="dotted"><%= dproject.school.dname[0,25] + "..." %></td>
</tr>
<% end %>
</tbody>
</table>
модель:
class Dproject < ActiveRecord::Base
belongs_to :school, foreign_key: 'scode'
end
контроллер:
def index
@dprojects = Dproject.order(params[:sort])
respond_with(@dprojects)
end
helper:
module DprojectsHelper
def sortable(column, title = nil)
title ||= column.titleize
link_to title, :sort => column
end
end
Я думал, что смогу изменить вид с помощью строки:
<th> <%= sortable "dproject.school.dname", "School" %></th>
, но это не работает.Что мне не хватает?Спасибо за любую помощь!