3

我正在尝试覆盖新/编辑表单的 belongs_to 下拉列表的默认顺序。我想订购belongs_to 关系来命名而不是默认的id desc。

基于维基(https://github.com/sferik/rails_admin/wiki/Associations-scoping)我有这个:

 field :theme do
  associated_collection_cache_all false 
    associated_collection_scope do
      Proc.new { |scope|
        scope = scope.reorder("themes.name ASC")
      }
    end
  end
 end

在提取语句时,重新排序似乎被忽略了。

4

1 回答 1

0

您确定要排序的列是“名称”而不是“名称”吗?

调试它的一个好方法是打开一个 Rails 控制台,看看你的重新排序是否真的以这种方式工作。

Theme.all.reorder("themes.names ASC")

我猜这可能无法按预期工作,您需要调整重新排序。

如果您想查看它正在创建的 SQL,您可以这样做。

Theme.all.reorder("themes.names ASC").to_sql

这可能会为您提供有关问题所在的更多信息。

于 2013-11-24T16:37:43.407 回答