在我的应用中,user
有许多score_cards
而score_card
属于user
问题是,每当我创建一个新的score_card
,即ScoreCardsController.create
被调用时,如何将这个新创建的score_card
添加到current_user
(我' m使用devise,因此current_user
是一个有效的User
对象。
答案 0 :(得分:68)
current_user.score_cards << score_card
OR
score_card.user = current_user
score_card.save
答案 1 :(得分:9)
使用关联构建器方法:
current_user.score_cards.build(params[:score_card])
如果您不关心控制器中的验证,则build
可以使用create
或create!
。
答案 2 :(得分:7)
如果有人正在寻找将多个对象添加到关联对象的方法,我会把它扔出去:
score_cards = ScoreCard.all
current_user.score_cards << score_cards
不需要current_user.save