msmsms
February 8, 2009, 7:56pm
1
Hello out there,
let’s assume, I’ve got an article model. An article always has an
author and refers to it. But I’ve got several types of authors which
all have theier own models. So a simple foreign key rather belongs_to
will not help me. So, I could save the author_id and a kind of
authot_type to manually create the association. Is there a more
comfortable way in rails?
Thank you very much!
ms
msmsms
February 8, 2009, 8:02pm
2
msmsms
February 8, 2009, 8:09pm
3
class Article < ActiveRecord::Base
belongs_to :author, :polymorphic => true
end
And then to assign an author:
article = Article.new
article.author = some_author
article.save
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)
msmsms
February 8, 2009, 8:07pm
4
Thank you for your answer. I read this article before, but I can’t map
this technique to my problem. Maybe you can help me with this?
Thank you!
msmsms
February 8, 2009, 8:19pm
5
class Article < ActiveRecord::Base
belongs_to :author, :polymorphic => true
end
And then to assign an author:
article = Article.new
article.author = some_author
article.save
But I’ve got no no author model, since author is nothing concrete in
my data model. Doesn’t this matter?
msmsms
February 8, 2009, 8:20pm
6
No, the “author” can be any of you models that descend from
ActiveRecord::Base.
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)
msmsms
February 8, 2009, 8:22pm
7
Hey, fantastic thing and so easy, thank you!
On 8 Feb., 20:19, Maurício Linhares [email protected]
msmsms
February 9, 2009, 5:28am
8
msmsms
February 8, 2009, 8:12pm
9
BTW, your table should have an “author_id” column (usually an integer)
and an “author_type” column (usually a varchar).
Maurício Linhares
http://alinhavado.wordpress.com/ (pt-br) | http://blog.codevader.com/
(en)
On Sun, Feb 8, 2009 at 4:09 PM, Maurício Linhares
msmsms
February 9, 2009, 5:32am
10
Um dude you’re talking single table inheritance not polymorphic
associations which is what he’s after
Blog: http://random8.zenunit.com/
Learn rails: http://sensei.zenunit.com/
On 09/02/2009, at 6:19 AM, Maur¨ªcio Linhares
<[email protected]
msmsms
February 9, 2009, 5:30am
11