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 :
Cant use association to create sub-models, like
User.first.creditcards.new, but I can use User.first.accounts.new.
How can use same controller AccountsController to create different
sub-models, actually I hardly use Account Model.
codes are as following
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
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 User.first.accounts.first.creditcard.new would
Or you could use has_many through and use the accounts model as the
has_many :creditcards, :through => :accounts
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?