Gegeben die folgenden Klassen:
%Vor%
Wie kann ich die vorherige Aussage (im Bild) auf Rails validieren?
Das Hinzufügen der folgenden Validierung für die Anwendung funktioniert nicht beim Aktualisieren:
%Vor%Wenn Sie versuchen, die Anwendung in ein anderes JobOffer des gleichen Unternehmens zu ändern, wird candidate.companies diese Firma zurückgeben.
Ich habe auch versucht, so etwas auf Anwendung:
%Vor%Aber es hat auch nicht funktioniert. Irgendwelche Ideen, um dies zu lösen, ohne 10 Zeilen crappy Code verwenden zu müssen?
Es gibt wahrscheinlich viele akzeptable Ansätze, um Ihr Problem zu lösen, aber ich denke, unter dem Strich versuchen Sie, eine Eindeutigkeitsbeschränkung für die Tabelle durchzusetzen, die nicht (direkt) alle Attribute aufweist (sowohl company
UND %Code%). Ich würde die user
info in der Anwendungstabelle ( company
, user_id
, job_offer_id
) de-normalisieren und sie immer in einem company_id
Callback setzen, um die before_save
job_offer
zu erreichen. Dann sollten Sie in der Lage sein, die Gültigkeitsbereichs-Gültigkeitsprüfung zu verwenden:
Wie das Bild zeigt, werden ein Kandidat und ein Stellenangebot viele Anwendungen & amp; Ein Kandidat kann sich nur auf ein Jobangebot pro Unternehmen bewerben. Es kann also sinnvoll sein, die Eindeutigkeit eines Kandidaten zu überprüfen, der auf ein Stellenangebot in einer Anwendung ausgerichtet ist.
%Vor%Dies verhindert, dass eine Anwendung demselben Kandidaten für dasselbe Stellenangebot zugeordnet wird. Der Kandidat kann sich auf andere Stellen bewerben, oder?
Und wie von @ez hervorgehoben, ist das Umbenennen der Anwendung in etwas Besseres besser.
Hoffe, das hilft.
Tags und Links ruby-on-rails-3 ruby-on-rails