ich eine Aussage in meinem Code hat:Arbeiten in SQLite, aber nicht in PostGreSQL ... Attribute nicht 1
RentalItem.last.maintenance_orders.where("status_id IS NOT 2").present?
funktioniert gut im Entwicklungsmodus, aber nicht in PostGreSQL in der Produktion. Problem ist, dass die Syntax der einzige Weg war, um den Code arbeiten zu lassen, denn in meinem Statement, wenn ein Kind maintenance_order
einen status_id
von nil
hatte, dann möchte ich, dass es durch den .present?
Befehl gefunden wird. Andere Syntaxen ignorierten nil
. Siehe diese Frage hier: Rails ActiveRecord find children where attribute is NOT a given value
Irgendwelche Ideen, wie man diese Syntax ändert?
Warum ignorieren Sie die Antwort auf Ihre anderen Frage akzeptiert? 'is not 2' ist kein gültiges SQL, also beschwert sich PostgreSQL. Auch das Entwickeln auf SQLite und das Bereitstellen auf PostgreSQL ist eine schreckliche Idee; Entwickeln, testen und auf der gleichen Datenbank bereitstellen, oder Sie sind in einer Welt der Verwirrung und Bugs. –
lol du hast Recht, ich akzeptierte diese Antwort und änderte den Code, aber vergaß diese Änderungen zu übernehmen, und so hatte der ursprüngliche schlechte 'IS NOT' Code. Danke für deine Kommentare! – james