diff --git a/lib/administrate/order.rb b/lib/administrate/order.rb index 4f32da6cd2..25f9d19602 100644 --- a/lib/administrate/order.rb +++ b/lib/administrate/order.rb @@ -62,7 +62,7 @@ def order_by_count(relation) end def order_by_id(relation) - relation.reorder("#{attribute}_id #{direction}") + relation.reorder("#{foreign_key(relation)} #{direction}") end def has_many_attribute?(relation) @@ -76,5 +76,9 @@ def belongs_to_attribute?(relation) def reflect_association(relation) relation.klass.reflect_on_association(attribute.to_s) end + + def foreign_key(relation) + reflect_association(relation).foreign_key + end end end