Forum: Ruby on Rails A topic on a category of a subforum really belongs_to what?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
461778b4a863c86afe52dfc8787685de?d=identicon&s=25 Ralph Wood (esmero)
on 2008-11-27 12:59
Suppose you have a forum with many sub-forums, and each sub-forum has
many categories (or sub-sub-forums), and each category may or may not
have many sub-categories (or sub-sub-sub-forums).

Will a topic belong to the sub-category AND category AND sub-forum; or
only to a sub-category, that will in turn belong to a category that will
in turn belong to a sub-forum?
2d8132658d56e51f19ace1c68e48b6aa?d=identicon&s=25 Thorsten Mueller (thorsten)
on 2008-11-27 14:00
(Received via mailing list)
In parts this may depend on the table structure.
I would avoid having too much tables here (forum + category) and
if possible go for a single table.

But in general avoid duplicate data. If a topic is linked to
a sub category and this sub category is already linked
to a category, there is not much need in adding another
field to the topic. That would just bring the risk, that the
data gets inconsistent if you need to relink the subforum
structure.

You should provide a function that for a given forum gets the ids of
all subforums (including sub sub forums, categories...) and
then get all the topics linked with those forum ids
5ce0d1b96d016fbd1c72aaa6ed463eea?d=identicon&s=25 Klaus Pieslinger (Guest)
on 2008-11-27 22:48
(Received via mailing list)
I'd go for self-referencing Forum and Category, to allow for
children / grand / etc in the same tables.
After that, where the Topic belongs to is a matter of how do you
traverse the tree.
461778b4a863c86afe52dfc8787685de?d=identicon&s=25 Ralph Wood (esmero)
on 2008-11-27 23:54
@Thorsten — I had figured that as well, so I went looking for info on
that and found out about this neat "model:references" bit you can
include in the script/generate.

@Klaus — Could you demonstrate?

For example, I was reading a tutorial earlier in which the author
demonstrated that you can make a Forum "has_many :posts, :through =>
:topics", but you can't make it "has_many :users, :through => :posts",
because the relationship won't go that deep.

So I wonder if it's even possible for a Forum to have sub-categories
through categories through sub-forums.
This topic is locked and can not be replied to.