Sha256: e9aa7fd27cd89ad212b8f42854f0b5b8101d4f5280fafbf4763bc1b1ae1345d7

Contents?: true

Size: 794 Bytes

Versions: 1

Compression:

Stored size: 794 Bytes

Contents

module KnowledgeBase
  module Concerns::Controllers::ArticlesController
    extend ActiveSupport::Concern

    included do
      before_action :set_category

      def index
        if @category
          scope = @category.articles
        else
          scope = Article.all
        end

        scope = scope.published

        @search   = scope.search params[:q]
        @articles = @search.result.includes(:sections)
      end

      def show
        if @category
          scope = @category.articles
        else
          scope = Article.all
        end

        @article = scope.published.friendly.find params[:id]
      end

      private

      def set_category
        @category = Category.friendly.find params[:category_id] if params.has_key? :category_id
      end
    end
  end
end

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
knowledge_base-0.2.0 lib/knowledge_base/concerns/controllers/articles_controller.rb