Ruby Active Record Associations in Rails Using Associations in Your App Creating an Associated Record

Lukasz Walczak
Lukasz Walczak
6,620 Points

@post.comments.create(comment_params) Vs. @post.comments.new(comment_params)

Why do we use @post.comments.create(comment_params) instead of @post.comments.new(comment_params)?

We used new(params) in the creation of post.

1 Answer

Jay McGavren
STAFF
Jay McGavren
Treehouse Teacher

new creates a model object without saving it to the database. create creates the model object and then also immediately saves it.

If you want to create a model object but need to make additional changes to it before saving it, you want new instead of create.