diff --git a/lib/acts_as_list/active_record/acts/list.rb b/lib/acts_as_list/active_record/acts/list.rb index a74c1706..b6eaed0c 100644 --- a/lib/acts_as_list/active_record/acts/list.rb +++ b/lib/acts_as_list/active_record/acts/list.rb @@ -174,7 +174,8 @@ def last? def higher_item return nil unless in_list? acts_as_list_class.unscoped.find(:first, :conditions => - "#{scope_condition} AND #{position_column} < #{(send(position_column).to_i).to_s}" + "#{scope_condition} AND #{position_column} < #{(send(position_column).to_i).to_s}", + :order => "#{acts_as_list_class.table_name}.#{position_column} DESC" ) end @@ -182,7 +183,8 @@ def higher_item def lower_item return nil unless in_list? acts_as_list_class.unscoped.find(:first, :conditions => - "#{scope_condition} AND #{position_column} > #{(send(position_column).to_i).to_s}" + "#{scope_condition} AND #{position_column} > #{(send(position_column).to_i).to_s}", + :order => "#{acts_as_list_class.table_name}.#{position_column} ASC" ) end