PostgreSQL
 sql >> Datenbank >  >> RDS >> PostgreSQL

ActiveRecord::StatementInvalid, PG::UndefinedTable-Fehler, aber generiertes SQL funktioniert

Da Sie sagen, dass das generierte SQL funktioniert, wenn Sie es direkt aufrufen, liegt die Problemwurzel irgendwo im Prozess der Zuordnung der zurückgegebenen Daten zu Objekten. Obwohl Ihr Setup gut aussieht, scheint es ziemlich nicht standardmäßig zu sein, also würde ich versuchen, mehr Schienen zu geben Hinweise, wie die Vereine zusammengehören.

Zu Beginn sollten Sie eine source setzen für Ihren through Beziehung (docs) :

has_many :inventories, through: :content_accesses, source: :inventory

Wenn das Rails immer noch nicht den richtigen Hinweis gibt, können Sie versuchen, inverse_of zu setzen , foreign_key , primary_key und sogar class_name auf der anderen Seite belongs_to und has_many Verbände, Rails die nötigen Hinweise zu geben. Es ist schwer zu sagen, was möglicherweise helfen könnte, aber in nicht standardmäßigen Setups treten manchmal bestimmte Probleme mit automatisch abgeleiteten Namen auf.