Ruby Active Record Associations in Rails Active Record Associations Has One Associations

Why we use "user.create_profile" to create a profile instead of "user.profile.create"? The latter doesn't work, but why?

I am curious why we don't use "user.profile.create"? Why we use "user.create_profile"?

1 Answer

Steven Parker
Steven Parker
203,243 Points

One issue is that the profile doesn't have a "create" method to call. But even if it did, before the profile is created, "user.profile" has a value of "nil", so you would not have access to any methods on it yet. So it makes sense for "create_profile" to be a separate method.