2012-04-09 3 views
0

ich ein übergeordnetes Modell namens Konto haben, die ein Unternehmen hat.Versuch Kind-Objekte in einer verschachtelten Form zuzugreifen, die verwendet fields_for

Das Kontomodell verwendet die accepts_nested_attributes_for :company Helfer.

Ich verwende einen RESTful Ansatz Konto zu erstellen, die auch eine Gesellschaft schaffen wird/soll.

In meiner neuen Aktion für die AccountsController, ich habe:

@account = Account.new 
@company = @account.companies.new 

Als ich die neue Ansicht Feuer, ich sowohl das Kontoobjekt und das Unternehmen Objekt mit der <%= debug... %> Funktion in der Ansicht sehen.

In meiner schaffen Aktion für die AccountsController, ich render 'new', wenn die Validierung nicht passieren.

Hier ist, was ich ist verwirrend:

Wenn render 'new' aufgerufen wird, ich nicht mehr das Unternehmen Objekt sehen, sondern nur das Kontoobjekt.

Wo hat das Unternehmen Objekt gehen und wie kann ich es wieder so kann ich darauf zugreifen?

Vielen Dank.

Antwort

1

Die Methode „erstellen“ muss die Zeile mit enthalten „@company = @ account.companies.new“, wenn die Validierung nicht passieren.

+0

Das hat es geschafft! Mann, ich war schon seit Stunden hier! Vielen Dank! – Nathan

+0

BTW, für total Neulinge wie mich, um auf das Kindobjekt (in meinem Fall "Firmen") zuzugreifen, musste ich verwenden: '@ account.companies.first', da es ein Array ist. – Nathan

Verwandte Themen