我有兩個型號:Mongoid:模型,belongs_to的一些模式不更新
class A
include Mongoid::Document
has_many :child, :class_name => "B", :inverse_of => :parent
field :name
end
class B
include Mongoid::Document
belongs_to :parent, :class_name => "A", :inverse_of => :child
field :name
end
p = A.new
p.name = "father"
c = B.new
c.name = "son"
c.save
p.child << c
p.save
c.save
當我創建了一個孩子,並設置父,一切都剛剛好。如果我創建的孩子沒有指定父母並保存它,那也可以。但是我不能在保存孩子後取消parent_id。我已經在軌道控制檯測試過這些進程,並沒有錯誤。
欣賞接近解決方案的任何想法。
按照慣例,Rails需要has_many的複數名稱,並且child是單數。儘管你可以用class_name和/或不規則變換覆蓋,但我建議重新處理你的問題以遵循Rails約定並避免混淆。 –