Sha256: 228dd187b3b7f301011607263e122beeb5e1469ec59f34a5df9c8f99f5cae39b
Contents?: true
Size: 1.98 KB
Versions: 4
Compression:
Stored size: 1.98 KB
Contents
class TagsController < ApplicationController before_action :set_tag, only: [:show, :edit, :update, :destroy] before_action :check_policy, only: [:index, :new, :create] def index session[:params] ={} unless session[:params] session[:params][:tag] = params sort = {:sort_by => 'created_at', :order => 'desc'} case params[:sort_by] when 'name' sort[:sort_by] = 'name' when 'taggings_count' sort[:sort_by] = 'taggings_count' end sort[:order] = 'asc' if params[:order] == 'asc' query = @query = params[:query].to_s.strip page = params[:page] || 1 @tags = Tag.search do fulltext query if query.present? paginate :page => page.to_i, :per_page => Tag.default_per_page order_by sort[:sort_by], sort[:order] end.results respond_to do |format| format.html # index.html.erb format.json { render json: @tags } format.rss format.atom end end def show respond_to do |format| format.html # show.html.erb format.json { render json: @tag } end end def edit #@tag = Tag.find(params[:id]) end def update #@tag = Tag.find(params[:id]) respond_to do |format| if @tag.update_attributes(tag_params) format.html { redirect_to @tag, notice: t('controller.successfully_updated', model: t('activerecord.models.tag')) } format.json { head :no_content } else format.html { render action: "edit" } format.json { render json: @tag.errors, status: :unprocessable_entity } end end end # DELETE /tags/1 # DELETE /tags/1.json def destroy #@tag = Tag.find(params[:id]) @tag.destroy respond_to do |format| format.html { redirect_to tags_url } format.json { head :no_content } end end private def set_tag @tag = Tag.find(params[:id]) authorize @tag end def check_policy authorize Tag end def tag_params params.require(:tag).permit(:name, :name_transcription) end end
Version data entries
4 entries across 4 versions & 1 rubygems