3 Stimmen

Mongoid Embeds_many speichert nicht in verschachtelten Formularen

Ich habe eine embeds_many-Assoziation, die ich versuche einzurichten, die ich erfolgreich getan habe, bevor, aber ich versuche, es alle in einem verschachtelten Formular zu tun und ich kann nicht herausfinden, es.

Nehmen wir an, wir haben eine pocket Modell:

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

und ein Münzmodell:

class Coin
    include Mongoid::Document
    field :name, type: String
    embedded_in :pocket
end

in meinem Formular für die Tasche, die ich benutze:

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

Mein Controller ist der standardmäßige gerüstbasierte Controller. Wenn ich die Konsole benutze, speichert er gut und ich kann die neue Tasche und die Münze sehen, die ich erstellt habe. Aber wenn ich versuche, eine Münze über das Formular zu erstellen oder zu aktualisieren, wird die Tasche gespeichert, aber die Münze bleibt unverändert.

Was übersehe ich hier?

2voto

abhas Punkte 5173

Ändern Sie Ihr Modell Pocket in

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

wird es gut funktionieren.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X