first_or_create per E-Mail und speichern Sie dann das verschachtelte Modell

8

I zwei Modelle User und Submission wie folgt:

%Vor%

Ich habe ein Formular, das die von diesen beiden Modellen benötigten Daten sammelt. Benutzercontroller:

%Vor%

Was ich tun möchte, ist zuerst zu überprüfen, ob der Benutzer bereits im System vorhanden ist. Wenn ja, dann möchte ich einen Beitrag für diesen Benutzer erstellen. Andernfalls erstellen Sie den Benutzer und die Einreichung zur gleichen Zeit.

Ich bin verwirrt, wie man das mit der Methode first_or_create macht.

Jede Hilfe wird geschätzt.

    
chell 20.05.2013, 07:39
quelle

3 Antworten

13

first_or_create akzeptiert einen Block . So könntest du es wie folgt machen:

%Vor%     
Subhas 24.05.2013, 03:00
quelle
1

Da Ihr Anwendungsfall ein wenig komplizierter ist, kann es nicht schaden, diesen Vorgang in zwei separate Aktionen aufzuteilen. Wenn dies atomar erfolgen soll, können Sie es in eine Transaktion laden.

%Vor%     
davogones 23.05.2013 04:24
quelle
-3

Hey, ich denke, es sollte so sein.

%Vor%

Dann im Benutzermodell

%Vor%     
lis2 20.05.2013 11:25
quelle