PostgreSQL
 sql >> Base de données >  >> RDS >> PostgreSQL

Pourquoi cette instruction ActiveRecord échoue-t-elle dans le serveur mais pas dans la console

Donc l'erreur n'était pas dans le code que j'ai posté. J'ai eu un assistant pour déterminer par quelle colonne commander. Cela ressemblait à ceci :

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"

Je ne savais pas que cela concaténerait en fait les termes supplémentaires sur Post.column_names . J'ai résolu ce problème en faisant une copie avec Post.column_names.clone et cela a résolu le problème.

Je me sens plutôt idiot de faire cette erreur, mais j'espère que cela aidera quelqu'un d'autre qui rencontre le même problème.