1
我需要一個模型,其行爲類似嵌入式和非嵌入式。同時嵌入和不嵌入文檔
例如,如果我要保存這個模型嵌入:
class MenuPosition
include Mongoid::Document
field :name, type: String
field :category, type: String
我需要
embedded_in :menu
添加到它。
在另一邊,如果我在模型中添加此行中我不能存儲這個模型沒有嵌入:
position = {
"name" => "pork",
"category" => "meal",
"portion" => 100
}
MenuPosition.create(position)
錯誤消息:
NoMethodError:
undefined method `new?' for nil:NilClass
我可以使用一個模型嵌入式和非嵌入式文檔?
你能否給出一些解釋,說明你爲什麼要嵌入和不嵌入?可能有不同的方式來實現你想要的,因爲我認爲這種方式不是可能的或可取的。 – Russell 2012-04-13 12:46:43
我想要有產品表,其中會有產品的詳細信息(重量,尺寸,結構等)。用戶創建產品記錄一次,然後在創建產品訂單時使用此信息。不同的產品訂單可以有一個產品,用戶不希望將所有信息放在兩次。 – demas 2012-04-13 13:47:53
好吧,在這種情況下,你可以只使用'has_many'而不是'embeds_many'(在你的例子中),'Menu'會*引用*許多'MenuPositions'而不是*包含*它們? – Russell 2012-04-13 14:07:42