sql >> Databáze >  >> RDS >> PostgreSQL

Proč tento příkaz ActiveRecord selhává na serveru, ale ne v konzole

Takže chyba nebyla v kódu, který jsem zveřejnil. Měl jsem pomocníka, který určil, podle kterého sloupce objednat. Vypadalo to nějak takto:

valid_names = Post.column_names
valid_names = valid_names.concat(["users.display_name", "subtopics.name",
  "categories.category_name"])

valid_names.include?(params[:sort]) ? params[:sort] : "popularity"

Netušil jsem, že to ve skutečnosti zřetězí další výrazy do Post.column_names . Tento problém jsem vyřešil vytvořením kopie pomocí Post.column_names.clone a tím se problém vyřešil.

Připadám si docela hloupě, když dělám tuto chybu, ale doufám, že to pomůže někomu dalšímu, kdo se potýká se stejným problémem.




  1. Rozdělení kontrolní tabulky serveru SQL Server

  2. Doporučte použití dočasné tabulky nebo proměnné tabulky v Entity Framework 4. Aktualizujte rámec Entity Performance

  3. Použití `SELECT` k volání funkce

  4. Jak volat funkci Oracle nebo uloženou proceduru pomocí frameworku spring persistence?