【发布时间】:2012-09-07 05:42:51
【问题描述】:
我有一个数据模型如下
- 出价与出价的
User相关联 - 出价可以是
offer或单个Product上的listing -
Product可能有多个用户发布的多个优惠和列表(单独) - 用户可以在多个
Products上放置优惠和列表
产品 用户
给定来自Product 模型的现有p,像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] 似乎也不起作用
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 activerecord mongoid activemodel