RubyFlow The Ruby and Rails community linklog

Better Single-Table Inheritance through Model Delegation

I’ve seen several articles recently on the evils of single table inheritance in Rails apps. While it can be problematic, I recently tried an approach to STI that I think works well.

Here’s what it boils down to: Put common attributes in a single table, non-shared attributes in separate tables with foreign key references, and use object delegation so that each model transparently pulls what it needs from both.

For details, see this post.

Comments

Can you check your code example? “def_delegators” is undefined

Post a comment

You can use basic HTML markup (e.g. <a>) or Markdown.

As you are not logged in, you will be
directed via GitHub to signup or sign in