Ich arbeite mit einem Modell namens Recover. Vor dem Erstellen des Modells möchte ich das boolesche Attribut Combo.ccupied = true unter Verwendung des Recover.combo_id-Attributs als Referenz speichern.Wie kann ich ein anderes Modell mithilfe eines Callbacks aktualisieren?
Es scheint, dass mein SQL die Abfrage ordnungsgemäß ausführt, aber dieses Attribut wird nicht gespeichert. Wie kann ich Combo.ccupied = true speichern?
recover.rb:
before_create: checkin
geschütztdef checkin x = Combo.find_by_id (combo_id) .occupied = wahre
Ende
Schienen Konsole:
POST Started "/ erholt" für 127.0.0.1 bei 2011-01-06 17.07.24 -0800
Verarbeitung von RecoversController # erstellen, wie HTML
Parameter: { "UTF-8" => "✓", "authenticity_token" => "o1Iu3Y9/rVBOZPoDUgVP/tRfQ8GxbdWC40DbPq9YxUE =", "wiederherstellen" => {"combo_id" => "4", "email" => "[email protected]"}, "commit" => "Erstelle wiederherstellen"} Recover Laden (0.2ms) SELECT "erholt". "Id" FROM "erholt" WHERE ("erholt". "Email" = '[email protected] arin.edu ') LIMIT 1
Load (0,1ms wiederherzustellen) SELECT "erholt". "id" FROM "erholt" WHERE ("erholt". "combo_id" = 4) LIMIT 1
Combo Load (0,5ms) SELECT "Combos". * VON "Combos" WHERE ("Combos". "ID" = 4) LIMIT 1 AREL (0,5 ms) INSERT IN "erholt" ("Schließfachnummer", "E-Mail", "Anfragen "," created_at ", " updated_at "," combo_id ") WERTE (NULL, '[email protected]', NULL, '2011-01-07 01: 07: 24.287072', '2011- 01-07 01: 07: 24.287072 ', 4) Umgeleitet nach http://localhost:3000/recovers/14 302 Completed Gefunden in 119ms
RecoversController # erstellen
def @recover = Recover.new erstellen (params [: recover])
respond_to do |format| if @recover.save format.html { redirect_to(@recover, :notice =>
‚Recover wurde erfolgreich erstellt. ')} Format.xml {machen: xml => @recover,: status =>: erstellt,
: location => @recover}
else format.html { render :action => "new" } format.xml { render :xml => @recover.errors, :status =>
: unprocessable_entity} Ende
end
Ende
Es scheint, dass kein Objekt in Ihrem RecoverController # create erstellt wurde. Können Sie den Inhalt dieser Methode posten? – apneadiving
Sicher Sache. Es ist getan –