我有一个数据模型如下
- 出价与出价相关
User
联 - 出价可以是一个
offer
或listing
一个Product
- A
Product
可能有多个用户发布的多个报价和列表(单独) - 用户可以将优惠和列表放置在多个
Products
产品 <--- 投标 ---> 用户
p
给定模型中的现有值Product
,诸如此类的新实例在p.offers << bid
哪里之类的操作不会标记为“脏”,并且更改不会持久保存到数据库中bid
Bid
p
产品类别
class Product
include Mongoid::Document
...
embeds_many :offers, class_name: 'Bid'
embeds_many :listings, class_name: 'Bid'
end
投标等级
class Bid
include Mongoid::Document
belongs_to :user
belongs_to :product
field :amount, type: Money
field :timestamp, type: DateTime, default: ->{ Time.now }
end
此外,调用bid.save!
或创建新数组p.offers = Array.new [bid]
似乎也不起作用