Dus de fout zat niet in de code die ik heb gepost. Ik had een helper om te bepalen op welke kolom ik moest bestellen. Het zag er ongeveer zo uit:
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"
Ik wist niet dat dit de extra termen zou samenvoegen tot Post.column_names
. Ik heb dit probleem opgelost door een kopie te maken met Post.column_names.clone
en dit loste het probleem op.
Ik voel me nogal dom als ik deze fout maak, maar hopelijk helpt dit iemand anders die tegen hetzelfde probleem aanloopt.