what's the advantage of using build and << ??

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 << ??

<< should save @article when you add a new comment.

<< 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). :wink:

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.

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). :wink:

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