diff --git a/app/controllers/boards_controller.rb b/app/controllers/boards_controller.rb index c6ce934ee001e6bab1f6e5e2f45ab481f6847483..55a9737f511881d0a11b2415b75cc808caf0f7ad 100644 --- a/app/controllers/boards_controller.rb +++ b/app/controllers/boards_controller.rb @@ -42,7 +42,7 @@ class BoardsController < ApplicationController @topic_count = @board.topics.count @topic_pages = Paginator.new self, @topic_count, per_page_option, params['page'] - @topics = @board.topics.find :all, :order => "#{Message.table_name}.sticky DESC, #{sort_clause}", + @topics = @board.topics.find :all, :order => ["#{Message.table_name}.sticky DESC", sort_clause].compact.join(', '), :include => [:author, {:last_reply => :author}], :limit => @topic_pages.items_per_page, :offset => @topic_pages.current.offset diff --git a/app/helpers/sort_helper.rb b/app/helpers/sort_helper.rb index d0a2929878db97ac1f4f6754df0215f38942451a..ed520e74814514730f1b5a14c54b848b8af71bd1 100644 --- a/app/helpers/sort_helper.rb +++ b/app/helpers/sort_helper.rb @@ -84,14 +84,14 @@ module SortHelper session[@sort_name] = sort sort_column = (sort_keys.is_a?(Hash) ? sort_keys[sort[:key]] : sort[:key]) - @sort_clause = (sort_column.blank? ? '' : "#{sort_column} #{sort[:order]}") + @sort_clause = (sort_column.blank? ? nil : "#{sort_column} #{sort[:order]}") end # Returns an SQL sort clause corresponding to the current sort state. # Use this to sort the controller's table items collection. # def sort_clause() - @sort_clause || '' #session[@sort_name][:key] + ' ' + (session[@sort_name][:order] || 'ASC') + @sort_clause end # Returns a link which sorts by the named column.