我有以下(简化的)关系:
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
现在我有以下问题:当我在控制器中更新付款时,付款数据会更新,但项目“忘记”更新的元素。这是来自我的控制器的相关代码:
def update
respond_with Payment.where(id: params[:id]).update(params[:payment])
end
如果我去控制台,“payment.project”将返回相关项目,而“project.payments”将不显示相关付款。“payment”仍然有相关的“project_id”字段和项目的ID。
在项目中添加和删除付款工作正常,此问题仅在编辑付款时存在(project_id 未更改,仅其他字段,例如金额)。
可能是什么问题?这是我的 mongoid 配置的问题吗?还是我没有正确设置关系?