2012-10-30 79 views
3

我有一個embeds_many關聯我試圖設置我以前成功完成的任務,但我試圖在一個嵌套窗體中完成所有操作,而且我可以不知道。Mongoid Embeds_many不會保存在嵌套窗體上

比方說,我們有一個pocket模型:

class Pocket 
    include Mongoid::Document 
    field :title, type: String 
    embeds_many :coins, cascade_callbacks: true 
end 

和硬幣型號:

class Coin 
    include Mongoid::Document 
    field :name, type: String 
    embedded_in :pocket 
end 
在我的形式口袋

,我使用的是:

= f.fields_for @pocket.coins do |coin| 
    = coin.text_field :name 

我的控制器是默認的腳手架控制器。 當我使用控制檯時,它可以很好地保存,我可以看到我創建的新口袋和硬幣。但是當我嘗試從表單中創建或更新硬幣時,口袋保存但硬幣保持不變。

我在這裏錯過了什麼?

回答

2

模型口袋裏的零錢,以

class Pocket 
    include Mongoid::Document 
    field :title, type: String 
    embeds_many :coins, cascade_callbacks: true 
    accepts_nested_attributes_for :coins 
end 

它將很好地工作。

+0

很酷,非常感謝。我知道我必須錯過embeds_many的一些重要語法。 –