我有一个关于Mongoid中关联的新手问题。我有这两个模型
class Manufacturer
include Mongoid::Document
field :name, type: String
field :url, type: String
has_many :products
end
和
class Product
include Mongoid::Document
field :manufacturer_name, type :String
field :model, type: String
field :price, type: Float
belongs_to :manufacturer
end
现在我创建了一家新公司:
man = Manufacturer.create name: 'Flower Power Companies', url: 'www.flowerpower.com'
和新产品:
prod = Product.create manufacturer_name: what_comes_here, model: 'Foo0815', price: '19.90'
如何将prod.manufacturer_name引用到man.name?如果更改man.name,则应自动更改prod.manufacturer_name。
答案 0 :(得分:0)
如果您已经在两者之间建立了关系,那么为什么需要在product表中使用cloumn manufacturer_name。
只做
m = Manufacture.create name: "...", url: "..."
p = m.products.create model: ".." , price : 19.90
这将自动在您的制造商和您的产品之间建立关系。稍后当您想知道制造商的名称时,只需致电p.manufacture.name
当您创建新产品并希望稍后将产品添加到产品中时,只需执行
即可p = Product.create model: "",price: ""
p.manufacture = Manufacture.find(:id)