Deaktiviere Mongoid gehört_zu Assoziationsvalidierung

8

A haben zwei Mongoid-Modelle mit einer einfachen Beziehung zwischen ihnen:

%Vor%

Das Problem ist, dass ich kein JournalItem ohne Lot erstellen kann, da es so aussieht, als ob mongoid standardmäßig eine Validierung ungleich null auf JournalItem.lot_id hinzufügt.

%Vor%

Wie kann ich es deaktivieren?

Ich benutze den Mongoid Master mit Rails 5.

    
Dmitry Sokurenko 22.07.2016, 13:04
quelle

2 Antworten

23

Ok, ich habe es herausgefunden - mongoide Assoziationen haben die Option optional , die anscheinend nicht sehr gut dokumentiert ist.

So sollte es sein:

%Vor%     
Dmitry Sokurenko 22.07.2016, 13:14
quelle
6

In Rails 5 gehört zu wird standardmäßig benötigt: true (siehe rails / rails / pull / 18937 )

Also jetzt erforderlich: true ist veraltet:

%Vor%

Um diese Option in ActiveRecord-basierten Apps zu deaktivieren, sollten Sie einen Initialisierer erstellen, um das neue Verhalten für die App explizit zu konfigurieren:

%Vor%

Und für jede belows_to-Beziehung, die nicht benötigt wird, füge einfach optional hinzu: true.

%Vor%

Und für Mongoid +6.0 müssen Sie diese Option in Ihrem Mongoid-Initialisierer hinzufügen:

%Vor%     
Mustapha Alaouy 05.12.2016 11:58
quelle

Tags und Links