0
我已經創建模型,定製has_and_belongs_to_many
協會:Mongoid,has_and_belongs_to_many,雙面協會
class Item
include Mongoid::Document
has_and_belongs_to_many :combinations, class_name: 'Item', inverse_of: :combinations
end
如果我有item1
和item2
,當我做這樣的事情:
item1.combinations << item2
item1.save
item1.combinations # returns [<Item2>]
item2.combinations # returns []
這意味着該協會是單方面。如何使這種關聯兩面?我錯過了什麼嗎?
是否可以只使用一個'has_and_belongs_to_many'關聯? –
不可能,因爲mongoid需要雙向關聯。你必須指定關係是如何建立的。所以如果你只是提到'has_and_belongs_to _many',mongoid會尋找在相關模型中指定的關係,如果它找不到,它就不會創建關係。 –
而且你也不能在一個數組中組合父和子組合。你需要爲父母和孩子指定兩個不同的東西,否則它總是單方面的。 –