Ich habe eine Postgres-Funktion erstellt, die ich verwende, um eine komplexe Abfrage durchzuführen, die viele Tabellen verbindet, die alle durch ein dynamisches Datumsfeld gefiltert werden müssen.
Die Funktion funktioniert perfekt und erlaubt mir eine Abfrage wie "SELECT * FROM trail_for_date('2014-01-01')"
und gibt eine Tabelle zurück.
Ein vereinfachtes Beispiel aus der Postgres-Dokumentation zu Funktionen:
%Vor%Wie kann ich diese Rückgabetabelle als ein Rails / Ruby-Modell verwenden, in dem das Argument für die Funktion dynamisch ist?
Etwas wie das Folgende (was offensichtlich nicht funktioniert):
%Vor%Erstellen Sie eine Ansicht, die die benötigten Daten enthält, und Sie können dann auf einfache Weise ein ActiveRecord-Modell erstellen, um darauf zuzugreifen.
Sie haben keine spezifischen Details Ihrer Daten angegeben, aber als einfaches Beispiel erstellen Sie Ihre Ansicht in Postgres, um Ihre Daten zu sammeln;
%Vor%Dann erstellen Sie Ihr Modell
%Vor%Weitere Informationen finden Sie im Enterprise Rails-Buch. Es wird jetzt ein wenig veraltet, aber die Prinzipien sind solide.
Tags und Links ruby-on-rails-3 ruby-on-rails postgresql