0
我有以下的(简化)的关系:Mongoid - 的has_many:父母失去相对于孩子
class Project
include Mongoid::Document
field :name
field :description
has_many :payments
end
class Payment
include Mongoid::Document
field :date
field :amount
belongs_to :project
end
现在我有follwing问题:当我更新我的控制器支付,支付数据被更新,但项目“忘记”有关更新的元素。这是我的控制器相关代码:
def update
respond_with Payment.where(id: params[:id]).update(params[:payment])
end
如果我去到控制台,“payment.project”将返回相关项目,而“project.payments”不会显示相关付款。 “付款”仍然有与项目的ID相关的“project_id”字段。
向项目中添加和删除付款可以正常工作,但只有在编辑付款(project_id未更改,仅限其他字段,例如金额)时才存在此问题。
可能是什么问题?这是我的mongoid配置问题吗?或者我没有正确设置关系?