diff --git a/app/controllers/debates_controller.rb b/app/controllers/debates_controller.rb index 456ab56dd..672336ae2 100644 --- a/app/controllers/debates_controller.rb +++ b/app/controllers/debates_controller.rb @@ -1,13 +1,15 @@ class DebatesController < ApplicationController - before_action :parse_order, :parse_tag_filter, only: :index + before_action :parse_order, only: :index + before_action :parse_tag_filter, only: :index before_action :authenticate_user!, except: [:index, :show] load_and_authorize_resource respond_to :html, :js def index - @debates = Debate.search(params).page(params[:page]).for_render.send("sort_by_#{@order}") - @tags = ActsAsTaggableOn::Tag.all + @debates = Debate.all + @debates = @debates.tagged_with(@tag_filter) if @tag_filter + @debates = @debates.page(params[:page]).for_render.send("sort_by_#{@order}") @tag_cloud = Debate.tag_counts.order(taggings_count: :desc, name: :asc).limit(20) set_debate_votes(@debates) end @@ -83,8 +85,9 @@ class DebatesController < ApplicationController end def parse_tag_filter - valid_tags = ActsAsTaggableOn::Tag.all.map(&:name) - @tag_filter = params[:tag] if valid_tags.include?(params[:tag]) + if params[:tag].present? + @tag_filter = params[:tag] if ActsAsTaggableOn::Tag.where(name: params[:tag]).exists? + end end end diff --git a/app/models/debate.rb b/app/models/debate.rb index 9c96c812c..c5cacf0f0 100644 --- a/app/models/debate.rb +++ b/app/models/debate.rb @@ -35,14 +35,6 @@ class Debate < ActiveRecord::Base # Ahoy setup visitable # Ahoy will automatically assign visit_id on create - def self.search(params) - if params[:tag] - tagged_with(params[:tag]) - else - all - end - end - def likes cached_votes_up end diff --git a/app/views/debates/index.html.erb b/app/views/debates/index.html.erb index e9988ac71..cd64b3819 100644 --- a/app/views/debates/index.html.erb +++ b/app/views/debates/index.html.erb @@ -3,30 +3,24 @@