11175
(-- --)
December 24, 2008, 4:32am
1
Rails give us two ways to create a asociation object:
@article = Article.new(params[:article])
@article.comments << Comment.new(params[:comment])
@article.save !
or
@article = Article.new(params[:article])
@comment = @article.comments.build (params[:comment])
@article.save !
@comment.save !
what's the advantage of using build and << ??
radar
(Ryan Bigg)
December 24, 2008, 6:35am
2
<< should save @article when you add a new comment.
MaD
(MaD)
December 24, 2008, 9:59am
3
<< adds records to a association-collection (no matter what kind of
association). it returns itself (the collection) so method calls may
be chained.
btw: in this example @article doesn't have to be saved when a new
comment is added (comment has article_id as foreign key).
MaD
(MaD)
December 24, 2008, 10:01am
4
just saw that this could be misunderstood:
article has to be saved to be able to make a association, but it
doesn't have to be saved after adding a new comment.
11175
(-- --)
December 24, 2008, 2:29pm
5
MaD wrote:
<< adds records to a association-collection (no matter what kind of
association). it returns itself (the collection) so method calls may
be chained.
btw: in this example @article doesn't have to be saved when a new
comment is added (comment has article_id as foreign key).
what's does that -method calls may be chained-? can you make me a
concrete example?
in this example @article doesn't have to be saved when a new