Forum: Ruby on Rails STI Problem When Using Same Controller

Announcement (2017-05-07): is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see and for other Rails- und Ruby-related community platforms.
chenillen (Guest)
on 2009-04-07 21:28
(Received via mailing list)
Hi there,

I created few models with STI, parent model is Account, child models
are CreditCard, DebitCard, etc.. several sub-models, using STI.

Every model works fine individually, but I have another model user
associated with account

user has_many accounts
account belongs_to user

The problems are :

1. Cant use association to create sub-models, like, but I can use

2. How can use same controller AccountsController to create different
sub-models, actually I hardly use Account Model.

codes are as following
Freddy A. (Guest)
on 2009-04-07 21:51
(Received via mailing list)
The user does not know what creditcards are in your user model. You
have to have an association in the user model if you want to do

has_many :creditcards

or get the users account and then check the creditcard.. Since a user
has_many accounts you would have to get an account before you could
create a creditcard.

So something like would
explain better...

Or you could use has_many through and use the accounts model as the

has_many :accounts
has_many :creditcards, :through => :accounts
chenillen (Guest)
on 2009-04-08 07:45
(Received via mailing list)
Thanks Freddy,

So rails doesn't support association inheritance, I know what you
mean, but I don't like to put the sub-model association into user

because i have about 10 sub-models like credit_card in Account,

I found a plugin called "has_many_polymorphs", this plugin allow you
access all the association between two parent model.

One other question, if I want to use one controller to create all the
sub models, how could i write all the controller actions?

Thanks again,

This topic is locked and can not be replied to.