1
我加入測驗功能從哈特爾教程Twitter的應用程序,並且有下列型號:軌道通過數訂購其他表
用戶幾乎是一樣的教程:
class User < ActiveRecord::Base
has_many :followed_users, through: :relationships, source: :followed
has_many :takens, dependent: :destroy
has_many :questions, through: :takens
end
採取問題是IDS的將用戶ID表:
:在問class Taken < ActiveRecord::Base
belongs_to :user
belongs_to :question
end
什麼有趣
我希望能夠按已測試次數顯示followed_users和followers。在控制檯這可以通過有:
User.find_by_id(1).question_ids.count
然後,我可以這樣做:在控制檯
User.find_by_id(1).followers.first.question_ids.count
得到計數爲一個單一的跟隨者。
我覺得我快到了。
如何通過他們的「丹尼斯數」來分類追隨者和follow_users? (我也在看cache_count,它起初看起來很有前途,但可能不是我所需要的......)
謝謝,我會試試看。我的表格確實是這樣命名的。這個去哪了?我可以以某種方式將它放在用戶模型中,使其成爲默認排序?或者,我應該把上面的行放在控制器中給我一個用戶數組? – grooble 2013-04-08 03:54:14
你也許可以在你的模型中定義一個方法,比如「sort_by_questions_taken」,它只是調用那行代碼,然後在你的控制器中你可以使用User.sort_by_questions_taken – hatkirby 2013-04-08 04:05:45
你的sql不起作用,但你肯定指出了我正確的方向!在sqlite中玩弄了我的這一個(哪裏有一天有類似的問題):SELECT用戶。* FROM users INNER JOIN takens ON users.id = takens.user_id GROUP BY users.id ORDER BY count(takens.user_id)DESC – grooble 2013-04-08 04:52:49