Welcome to the Treehouse Community

The Treehouse Community is a meeting place for developers, designers, and programmers of all backgrounds and skill levels to get support. Collaborate here on code errors or bugs that you need feedback on, or asking for an extra set of eyes on your latest project. Join thousands of Treehouse students and alumni in the community today. (Note: Only Treehouse students can comment or ask questions, but non-students are welcome to browse our conversations.)

Looking to learn something new?

Treehouse offers a seven day free trial for new students. Get access to thousands of hours of content and a supportive community. Start your free trial today.

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