diff --git a/app/controllers/news_controller.rb b/app/controllers/news_controller.rb index b33dd540e..d35d7ac63 100644 --- a/app/controllers/news_controller.rb +++ b/app/controllers/news_controller.rb @@ -79,21 +79,20 @@ class NewsController < ApplicationController @b_sort = 2 end - sort_name = "created_on" + sort_name = "updated_at" sort_type = @b_sort == 1 ? "asc" : "desc" scope = @course ? @course.news.course_visible : News.course_visible news_arr = scope.map{|news| news.id} - @page = params[:page] ? params[:page].to_i + 1 : 0 news_page = 0 #@page *10 @news_count = scope.count @is_new = params[:is_new] @q = params[:subject] if params[:subject].nil? || params[:subject].blank? - scope_order = scope.reorder("#{News.table_name}.sticky DESC, #{News.table_name}.#{sort_name} #{sort_type}").offset(news_page).includes(:author,:course).all() + scope_order = scope.reorder("#{News.table_name}.sticky DESC, #{News.table_name}.created_on #{sort_type}").offset(news_page).includes(:author,:course).all() #all(:include => [:author, :course], #:order => "#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC").limit(10).offset(news_page) else @@ -101,6 +100,10 @@ class NewsController < ApplicationController #.all(:include => [:author, :course],:order => "#{News.table_name}.sticky DESC, #{News.table_name}.created_on DESC") end + scope_order.each do |topic| + topic[:updated_at] = CourseActivity.where("course_act_type='#{topic.class}' and course_act_id =#{topic.id}").first.updated_at + end + #根据 赞+回复数排序 if @order.to_i == 2 @type = 2 @@ -115,6 +118,8 @@ class NewsController < ApplicationController scope_order = sortby_time_countcommon_hassticky scope_order,sort_name else @type = 1 + @b_sort == 1 ? scope_order = scope_order.sort{|x,y| x[:updated_at] <=> y[:updated_at] } : scope_order = scope_order.sort{|x,y| y[:updated_at] <=> x[:updated_at] } + scope_order = sort_by_sticky scope_order end @newss = scope_order