通过关系创建对象

时间:2014-03-31 00:36:14

标签: ruby-on-rails

用户has_one头像和头像belongs_to用户。我该如何为用户创建头像?我能做到这一点:

user #=> <# a user object >

Avatar.create(name: 'image', user_id: user.id)

但是有更好的方法吗?我想也许我可以做到这一点:

user.avatar.new(name: 'image')

1 个答案:

答案 0 :(得分:1)

您可以像这样使用build_avatarcreate_avatar

user.build_avatar(name: 'image') # Instantiates avatar object
user.create_avatar(name: 'image') # Instantiates and saves to the database