Mongoid Embeds_many不会在嵌套表单上保存

时间:2012-10-30 10:59:03

标签: ruby-on-rails-3 mongoid nested-forms mongoid3

我有一个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

我的控制器是默认的脚手架控制器。 当我使用控制台时,它保存得很好,我可以看到我创建的新口袋和硬币。但是当我尝试从表格中创建或更新硬币时,口袋会保存,但硬币保持不变。

我在这里缺少什么?

1 个答案:

答案 0 :(得分:2)

将您的模型Pocket更改为

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

它会正常工作。