3

以前に正常に実行したembeds_manyアソシエーションを設定しようとしていますが、すべてを1つのネストされた形式で実行しようとしているため、理解できません。

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

私のコントローラーはデフォルトのスキャフォールドコントローラーです。コンソールを使用すると、節約になり、作成した新しいポケットとコインを見ることができます。しかし、フォームからコインを作成または更新しようとすると、ポケットは保存されますが、コインは変更されません。

ここで何が欠けていますか?

4

1 に答える 1

2

モデルポケットをに変更します

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

それはうまくいくでしょう。

于 2012-11-01T09:31:46.660 に答える