我有一個用戶從中導入數據的xml文件。這在Player
模型中創建了一條記錄。 同時,我想要在Membership
關聯中創建一條記錄。find_or_initialize_by和has_many:通過
以上兩種情況只有在記錄不存在的情況下才能觸發。 這是該方法的縮短版:
@player = self.players.find_or_initialize_by_name_and_archetype(name, archetype)
if @player.save
self.memberships.create(:player_id => @player.id)
end
現在find_or_initialize_by
作品,但仍然是爲每個玩家創造了一個Membership
,基本上忽略了,如果條件。
如何以簡明的方式去做這件事?
謝謝隊友,我在控制檯中試了一下,它確實返回true。出於某種原因,我認爲如果只發現記錄並且沒有初始化記錄,保存將是錯誤的。 – amunds
'save'只會返回false,該記錄無效(基於驗證)。很高興它解決了。乾杯。 – theIV