Vì vậy, lỗi không phải ở mã tôi đã đăng. Tôi đã có một người trợ giúp để xác định cột để sắp xếp. Nó trông giống như thế này:
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"
Tôi ít biết rằng điều này thực sự sẽ nối các điều khoản bổ sung vào Post.column_names
. Tôi đã khắc phục sự cố này bằng cách tạo một bản sao với Post.column_names.clone
và điều này đã giải quyết được vấn đề.
Tôi cảm thấy khá ngớ ngẩn khi mắc lỗi này, nhưng hy vọng điều này sẽ giúp ích cho những người khác đang gặp phải vấn đề tương tự.