sql >> Database teknologi >  >> RDS >> PostgreSQL

Hvorfor fejler denne ActiveRecord-sætning på serveren, men ikke i konsollen

Så fejlen var ikke i den kode jeg postede. Jeg havde en hjælper til at bestemme, hvilken kolonne jeg skulle bestille efter. Det så nogenlunde sådan her ud:

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"

Jeg vidste ikke, at dette faktisk ville sammenkæde de ekstra termer til Post.column_names . Jeg løste dette problem ved at lave en kopi med Post.column_names.clone og dette løste problemet.

Jeg føler mig ret dum ved at begå denne fejl, men forhåbentlig vil dette hjælpe en anden, der løber ind i det samme problem.




  1. Anvend filter i Oracle View

  2. MySQL:Tæl poster fra én tabel og opdater derefter en anden

  3. Heroku - hvordan trækker man data fra databasen til den lokale database?

  4. BOB Dynamic Query Building