add Most Comments and Most Answered to Discover
This commit is contained in:
parent
6b08e6fed5
commit
4400779d00
|
@ -5,6 +5,7 @@ class DiscoverController < ApplicationController
|
||||||
top_x = 10 # only display the top X items
|
top_x = 10 # only display the top X items
|
||||||
|
|
||||||
@popular_answers = Answer.where("created_at > ?", Time.now.ago(1.week)).order(:smile_count).reverse_order.limit(top_x)
|
@popular_answers = Answer.where("created_at > ?", Time.now.ago(1.week)).order(:smile_count).reverse_order.limit(top_x)
|
||||||
|
@most_discussed = Answer.where("created_at > ?", Time.now.ago(1.week)).order(:comment_count).reverse_order.limit(top_x)
|
||||||
@popular_questions = Question.where("created_at > ?", Time.now.ago(1.week)).order(:answer_count).reverse_order.limit(top_x)
|
@popular_questions = Question.where("created_at > ?", Time.now.ago(1.week)).order(:answer_count).reverse_order.limit(top_x)
|
||||||
@new_users = User.where("asked_count > 0").order(:id).reverse_order.limit(top_x)
|
@new_users = User.where("asked_count > 0").order(:id).reverse_order.limit(top_x)
|
||||||
|
|
||||||
|
@ -15,6 +16,14 @@ class DiscoverController < ApplicationController
|
||||||
where(author_is_anonymous: false).
|
where(author_is_anonymous: false).
|
||||||
group(:user_id).
|
group(:user_id).
|
||||||
order('question_count').
|
order('question_count').
|
||||||
reverse_order.limit(10)
|
reverse_order.limit(top_x)
|
||||||
|
|
||||||
|
# .user = the user
|
||||||
|
# .answer_count = how many questions did the user answer
|
||||||
|
@users_with_most_answers = Answer.select('user_id, COUNT(*) AS answer_count').
|
||||||
|
where("created_at > ?", Time.now.ago(1.week)).
|
||||||
|
group(:user_id).
|
||||||
|
order('answer_count').
|
||||||
|
reverse_order.limit(top_x)
|
||||||
end
|
end
|
||||||
end
|
end
|
||||||
|
|
|
@ -0,0 +1,3 @@
|
||||||
|
.tab-pane.fade{role: "tabpanel", id: "comments"}
|
||||||
|
- comments.each do |a|
|
||||||
|
= render 'shared/answerbox', a: a
|
|
@ -0,0 +1,3 @@
|
||||||
|
.tab-pane.fade{role: "tabpanel", id: "answered"}
|
||||||
|
- answered.each do |user|
|
||||||
|
= render 'discover/userbox', u: user.user, type: "most", a: user.answer_count
|
|
@ -18,6 +18,9 @@
|
||||||
registered
|
registered
|
||||||
= time_ago_in_words(u.created_at)
|
= time_ago_in_words(u.created_at)
|
||||||
ago
|
ago
|
||||||
|
- elsif type == "most"
|
||||||
|
answered
|
||||||
|
= pluralize(a, "question")
|
||||||
- else
|
- else
|
||||||
asked
|
asked
|
||||||
= pluralize(q, "question")
|
= pluralize(q, "question")
|
||||||
|
|
|
@ -9,7 +9,7 @@
|
||||||
= APP_CONFIG['site_name']
|
= APP_CONFIG['site_name']
|
||||||
.container
|
.container
|
||||||
.row
|
.row
|
||||||
.col-md-8.col-sm-6
|
.col-md-7.col-sm-6
|
||||||
%h2 Popular Content
|
%h2 Popular Content
|
||||||
%p Answers with most smiles and most answered questions
|
%p Answers with most smiles and most answered questions
|
||||||
%div{role: "tabpanel"}
|
%div{role: "tabpanel"}
|
||||||
|
@ -20,10 +20,14 @@
|
||||||
%li{role: "presentation"}
|
%li{role: "presentation"}
|
||||||
%a{href: "#questions", role: "tab", aria: {controls: "questions"}, data: {toggle: "tab"}}
|
%a{href: "#questions", role: "tab", aria: {controls: "questions"}, data: {toggle: "tab"}}
|
||||||
Questions
|
Questions
|
||||||
|
%li{role: "presentation"}
|
||||||
|
%a{href: "#comments", role: "tab", aria: {controls: "comments"}, data: {toggle: "tab"}}
|
||||||
|
Most Comments
|
||||||
.tab-content.discover
|
.tab-content.discover
|
||||||
= render 'discover/tab_answers', answers: @popular_answers
|
= render 'discover/tab_answers', answers: @popular_answers
|
||||||
= render 'discover/tab_questions', questions: @popular_questions
|
= render 'discover/tab_questions', questions: @popular_questions
|
||||||
.col-md-4.col-sm-6
|
= render 'discover/tab_discussed', comments: @most_discussed
|
||||||
|
.col-md-5.col-sm-6
|
||||||
%h2 People
|
%h2 People
|
||||||
%p Newcomers and people who asked the most questions
|
%p Newcomers and people who asked the most questions
|
||||||
%div{role: "tabpanel"}
|
%div{role: "tabpanel"}
|
||||||
|
@ -34,7 +38,11 @@
|
||||||
%li{role: "presentation"}
|
%li{role: "presentation"}
|
||||||
%a{href: "#asked", role: "tab", aria: {controls: "asked"}, data: {toggle: "tab"}}
|
%a{href: "#asked", role: "tab", aria: {controls: "asked"}, data: {toggle: "tab"}}
|
||||||
Most Asked Questions
|
Most Asked Questions
|
||||||
|
%li{role: "presentation"}
|
||||||
|
%a{href: "#answered", role: "tab", aria: {controls: "answered"}, data: {toggle: "tab"}}
|
||||||
|
Most Answers
|
||||||
.tab-content.discover
|
.tab-content.discover
|
||||||
= render 'discover/tab_new', new: @new_users
|
= render 'discover/tab_new', new: @new_users
|
||||||
= render 'discover/tab_asked', asked: @users_with_most_questions
|
= render 'discover/tab_asked', asked: @users_with_most_questions
|
||||||
|
= render 'discover/tab_most', answered: @users_with_most_answers
|
||||||
= render 'shared/links'
|
= render 'shared/links'
|
||||||
|
|
Loading…
Reference in New Issue