0

レール 2.3.5 / ルビー 1.8.6

「センター」ID(center_id)フィールドを含む「チーム」テーブルがあります(チームはセンターに属し、センターには多くのチームがあります)。ビューでは、センターの名前を使用しています:

Controller (sorting by team 'name':
 @teams= Team.find(:all, :order => "name ASC")
View:
 <%=h team.center.center_name %>

センター名でクエリを並べ替えるにはどうすればよいですか? お気に入り:

@teams= Team.find(:all, :order => "center.center_name ASC name ASC")

これが可能かどうかさえわかりません...これを解決しようとして、「@teams.each do |team|」にロジックを追加する必要があります ループ?それとも、クエリ結果を通常の配列に収集してから、配列をソートすることでしょうか?

ありがとうございました!

4

1 に答える 1

1

あなたはかなり近くにいるようです。「センター」テーブルはありますか?もしそうなら試してみてください:

@teams= Team.find(:all, :include=>:center, :order => "centers.center_name ASC, teams.name ASC")
于 2012-05-04T14:43:07.927 に答える