3

新規/編集フォームの belongs_to ドロップダウンのデフォルトの順序をオーバーライドしようとしています。私は、デフォルトの id desc の代わりに、belongs_to リレーションシップを name に注文したいと思います。

wiki ( 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

whereステートメントがピックアップされている間、並べ替えは無視されるようです。

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 に答える