Am I reinventing polymorphic associations?
I have a fairly standard blog with comments model, with the following
additions:
(1) Multiple models can accept comments (blog post, bug report, etc).
(2) Each group of comments has a list of subscribers that will be
emailed when a new comment is posted.
Requirement (1) leads me to a polymorphic association. But I can’t see
how to fit requirement (2) into that. Each group of comments needs
some place to store the list of subscribers.
So I added a CommentGroup table.
class BlogPost < ActiveRecord::Base
belongs_to :comment_group
end
class BugReport < ActiveRecord::Base
belongs_to :comment_group
end
class CommentGroup < ActiveRecord::Base
has_one :blog_post
has_one :bug_report # note: one or the other will be nil
has_and_belongs_to_many :subscribers
end
class Comment < ActiveRecord::Base
belongs_to :comment_group
end
But now table :comment_group only has one field: id. And that just
seems wrong to me.
Is that bad?