2012-06-29 36 views
1

Ruby on Rails中是否存在與collection.build命令的等效項,該命令在兩個已存在的模型對象之間建立關係?例如,如果我有用戶模型和聯繫人模型(通過has_many_and_belongs_to兩種方式連接),並且我想將用戶添加到聯繫人的用戶集合以及聯繫人到用戶的聯繫人集合,是否有任何簡單的方法爲我建立這個連接?還是我寫出來具有兩個現有對象的build()的等價物

contact.users << some_user 
    contact.save 
    some_user.contacts << contact 
    some_user.save 

回答

1

筆者認爲:

contact.users << some_user 

就足夠了。

根據Rails的Guide to Active Record Associations

收集< <方法,通過在連接表創建記錄添加一個或多個對象的集合。

+0

追加到該集合後是否需要保存記錄? – Chiubaka

+0

保存連接在一起的模型中的任何一個對連接表中的行都沒有影響,因此不會。但我建議你只是在控制檯上試試它,這樣你就能感受到它。 –

相關問題