私は最近、http://railscasts.com/episodes/228-sortable-table-columnsに従って、ソート可能なテーブルの列をアプリに追加しました。それは素晴らしい仕事でしたが、私のテーブルの列のいくつかはpost.comments.countのようなものです(明らかに投稿には多くのコメントがあります)。私はポストがテーブルにあるコメントの数で並べ替えることができるようにしたいと思いますが、私はrailscastのソリューションを使ってこれを実装する方法を理解できません。Rails 3、リンクされたモデルによる並べ替え可能なテーブル列?
2
A
答えて
4
最も簡単な方法はcounter_cacheです。
移行を使用して、テーブルposts
にcomments_count:integer
データベースフィールドを作成します。その列に並べ替えその後
class Comment < ActiveRecord::Base
belongs_to :post, :counter_cache => true
end
:
その後、あなたのモデルを更新
Post.order(:comments_count)
0
一つの方法は、それはあなたの例のすべてで適用されます場合は、
post.comments_count
# instead of
post.comments.count
わからない
を言及していた場合、カウンタキャッシュ列になります。関連する問題
- 1. Rails 3 - 複数のモデルのクエリと並べ替え
- 2. 並べ替え可能なオブジェクトコレクション
- 3. ネストされたモデルの数に基づいて並べ替えるRailsクエリ?
- 4. 関連するモデルの列によるRailsデータベーステーブルの並べ替え
- 5. jQuery 2列の並べ替えのためのソート可能?
- 6. 並べ替え不可能な型intと文字列
- 7. 埋め込み型リッチの並べ替え可能な列:dataTable
- 8. 列ごとのテーブルの並べ替え
- 9. リンクされたリストを並べ替える(ミステリーセグメンテーション)
- 10. リンクされたリストを使用した並べ替え
- 11. jQuery並べ替え可能な項目の並び
- 12. Laravel 4.2並べ替えの関係による並べ替え
- 13. VBA - ドラッグ&ドロップによる並べ替えの並べ替え
- 14. UITableView並べ替えのような並べ替え
- 15. SQLite - テーブルの並べ替え
- 16. 並べ替えの方法配列インデックスで並べ替えられたリスト
- 17. 指定された並べ替えオプションを使用して2つ以上の "列"(キー)に複数の配列の並べ替えを並べ替え
- 18. アークによるトポロジカルな並べ替え
- 19. Java:変更不可能なリストを並べ替える
- 20. ソート可能なデータテーブルでJSFラベルを並べ替える方法
- 21. WPF ListView - ネストされたプロパティによる並べ替え
- 22. データベースなしで並べ替え可能なリスト
- 23. 大規模な並べ替え可能なデータラッピング "
- 24. jQuery UIのノックアウトカスタムバインディング並べ替え可能な異常な動作
- 25. 並べ替えで並べ替え
- 26. 配列なしで並べ替える
- 27. jQuery:行ではなくテーブル列を並べ替える
- 28. R:3つの列に行列を並べ替えます。
- 29. AdvancedDatagridでグループ化された列を並べ替える
- 30. Railsのオブジェクトを並べ替える
をだから、技術的に、これは特にカウントシナリオに答えるが、他のリンクされたモデルデータのための方法はありますか? – Elliot
'Foo.join(:bar).order( 'bar.whatever')' –
素晴らしい答え!しかし、.includesを使用するよりも、.includesを使用する方が良い方法はありませんか? – Houen