【问题标题】:Mongoid Embeds_many won't save on nested formMongoid Embeds_many 不会保存在嵌套表单中
【发布时间】:2012-10-30 10:59:03
【问题描述】:

我有一个我正在尝试建立的 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

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

我在这里错过了什么?

【问题讨论】:

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


    【解决方案1】:

    将您的模型 Pocket 更改为

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

    它会正常工作的。

    【讨论】:

    • 酷,非常感谢。我知道我一定遗漏了一些重要的 embeds_many 语法。
    猜你喜欢
    • 1970-01-01
    • 2012-01-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多