Ruby on rails RubyonRails:如何对集合进行排序

Ruby on rails RubyonRails:如何对集合进行排序,ruby-on-rails,ruby,ruby-on-rails-3,sorting,Ruby On Rails,Ruby,Ruby On Rails 3,Sorting,我想按数据库表列“plays”对其进行排序/排序(desc或asc,我希望如何排序) 我完全糊涂了。刚刚找到了select的解决方案,但未找到集合\u select 我的一些看法 <%= f.collection_select :player1, Player.all, :id, :name %> 不知道如何分类/订购 数据库表中还有一些列,如“播放”、“目标”…只需将实际排序的集合传递给集合\u选择帮助器: collection_select(:post, :author_i

我想按数据库表列“plays”对其进行排序/排序(desc或asc,我希望如何排序) 我完全糊涂了。刚刚找到了select的解决方案,但未找到集合\u select

我的一些看法

<%= f.collection_select :player1, Player.all, :id, :name %>

不知道如何分类/订购


数据库表中还有一些列,如“播放”、“目标”…

只需将实际排序的集合传递给集合\u选择帮助器:

collection_select(:post, :author_id, Author.order('created_at DESC'), :id, :name_with_initial, :prompt => true)
因此,在您的源代码示例中,它将如下所示:

<%= f.collection_select :player1, Player.order('plays DESC'), :id, :name %>


我不知道你的意思,我是个新手。你能把代码改成我的视图,这样它就可以工作了吗?你在哪里添加代码?在视图中尝试了Player.all.order('created_at DESC'),但没有成功?这是正确的想法,但是调用
all
执行SQL查询(这就是为什么以后不能调用
order
)。您可以简单地将
.all
移动到链的末尾,或者完全删除它,因为它是隐含的<代码>