Ruby on rails 3 如何使用简单表单对集合进行排序

Ruby on rails 3 如何使用简单表单对集合进行排序,ruby-on-rails-3,collections,simple-form,Ruby On Rails 3,Collections,Simple Form,我正在从模型中提取类别列表。 在管理部分,我想用它来为产品分配类别。 它工作正常,但列表按添加类别的顺序显示。 我想按字母顺序把它们分类,但我不能把它分出来 我相信这很简单(希望如此) 这是我的密码: <%= simple_form_for(@game) do |f| %> <%= f.input :name %> <%= f.input :description %> <%= f.input :copy %> <%= f.i

我正在从模型中提取类别列表。 在管理部分,我想用它来为产品分配类别。 它工作正常,但列表按添加类别的顺序显示。 我想按字母顺序把它们分类,但我不能把它分出来

我相信这很简单(希望如此)

这是我的密码:

<%= simple_form_for(@game) do |f| %>
  <%= f.input :name %>
  <%= f.input :description %>
  <%= f.input :copy %>
  <%= f.input :image %>
  <%= f.input :thumbnail %>
  <%= f.input :heroimage %>
  <%= f.association :category, collection: @categories %>
  <%= f.button :submit %>
<% end %>

我试图在collection方法中添加一个
.sort\u by(desc)
或只是
.sort
,但它没有改变列表


干杯

我想@categories在你的控制器中被指定为arel,你能给它添加一个.order(“description”)吗;e、 g

@categories = Category.order('description')

以下是您应该如何更新代码:

<%= f.association :category, collection: Category.order('name ASC') %>


这假设您希望按类别名称按升序排序

由于它是一个关联,我可以在类别控制器中进行集合排序,还是需要在游戏控制器中进行排序。我现在把它放在哪里了?它需要住在渲染的控制器中。但是,听起来你想让这个协会一直有序?这有帮助吗:@categories=Category.order('description')工作正常。我已经启用了active admin,现在它停止工作了。是因为管理员名称空间吗?不知道。。。“它停止工作”是什么意思?只是订单关闭了,或者有错误?呵呵,对不起,这意味着它不再排序了。但就在我处于活动管理名称空间时。