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

Warum schlägt diese ActiveRecord-Anweisung im Server fehl, aber nicht in der Konsole

Also war der Fehler nicht in dem Code, den ich gepostet habe. Ich hatte einen Helfer, um zu bestimmen, nach welcher Spalte ich bestellen sollte. Es sah etwa so aus:

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"

Ich wusste nicht, dass dies die zusätzlichen Begriffe tatsächlich zu Post.column_names verketten würde . Ich habe dieses Problem behoben, indem ich eine Kopie mit Post.column_names.clone erstellt habe und dies löste das Problem.

Ich komme mir ziemlich dumm vor, diesen Fehler zu machen, aber hoffentlich hilft es jemand anderem, der auf das gleiche Problem stößt.