railsで、あるuserが、いずれかのpostのlikeボタンを押し、また別のuserがいずれかのpostのlikeボタンを押す…というのを何度も繰り返したとき、そのlike数の多い順で記事を取り出したいと思っています。
モデル間の関連付けは、
class User < ActiveRecord::Base has_many :posts, dependent: :destroy has_many :likes, dependent: :destroy class Post < ActiveRecord::Base belongs_to :user has_many :likes, dependent: :destroy class Like < ActiveRecord::Base belongs_to :post belongs_to :user
となっております。
たとえばidが1のpostについて、
Post.find(1).likes.ids.lengthのようにし、
post1に関連したlikeのidの配列の要素数をlengthで取り出して、
それの大きい順に記事を表示すればいけるのではないかと思っているのですが、
実装できますでしょうか?
以上、教えていただきたいです。
よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/05/04 14:23