Rails 3.1 How to recursively count threads belonging to a chain of forums
class Forum::Forum < ActiveRecord::Base
belongs_to :parent_forum, :class_name => "Foru开发者_开发技巧m"
has_many :sub_forums, :class_name => "Forum", :foreign_key => :parent_id
has_many :threads
def count_threads
threads.count
end
end
Hi I am trying to count all the threads that belong to a forum right though the chain. Currently it counts the threads that belong to the forum you're on, so if you're on forum id 1 it will count threads that belong to forum id 1 only, however forum id 1 also has sub_forums such as forum id 4 which also has a sub_forum with a id of 8 and this could go on forever.
I would really appreciate some help here, I have grand plans to build my site in rails instead of zend framework but a few little snags are keeping me stuck sometimes.
I'd recommend taking a look at Ancestry. You should be able to get everything you need out of there if your model is what I think it is, and it can save you some code.
I believe something like @record.descendants.count
should do the trick once you've integrated it.
精彩评论