diff --git a/lib/ajax-datatables-rails/base.rb b/lib/ajax-datatables-rails/base.rb index 080fe0c1..017f24a3 100644 --- a/lib/ajax-datatables-rails/base.rb +++ b/lib/ajax-datatables-rails/base.rb @@ -75,7 +75,7 @@ def fetch_records def sort_records(records) sort_by = [] params[:order].each_value do |item| - sort_by << "#{sort_column(item)} #{sort_direction(item)}" + sort_by << "#{sort_column(item)} #{sort_direction(item)} NULLS #{sort_nulls(item)}" end records.order(sort_by.join(", ")) end @@ -188,6 +188,11 @@ def sort_direction(item) options.include?(item[:dir]) ? item[:dir].upcase : 'ASC' end + def sort_nulls(item) + options = %w(first last) + options.include?(item[:nulls]) ? item[:nulls].upcase : 'LAST' + end + def sortable_displayed_columns @sortable_displayed_columns ||= generate_sortable_displayed_columns end