84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
			
		
		
	
	
			84 lines
		
	
	
		
			2.4 KiB
		
	
	
	
		
			Ruby
		
	
	
	
| class Admins::ReversedKeywordsController < Admins::BaseController 
 | |
|   before_action :get_keyword, only: [:edit,:update, :destroy]
 | |
|   # before_action :validate_identifer, only: [:create, :update]
 | |
| 
 | |
|   def index 
 | |
|     sort_by = ReversedKeyword.column_names.include?(params[:sort_by]) ? params[:sort_by] : 'created_at'
 | |
|     sort_direction = %w(desc asc).include?(params[:sort_direction]) ? params[:sort_direction] : 'desc'
 | |
|     q = ReversedKeyword.ransack(identifier_cont: params[:search])
 | |
|     keywords = q.result(distinct: true).order("#{sort_by} #{sort_direction}")
 | |
|     @keywords = paginate(keywords)
 | |
|     
 | |
|   end
 | |
| 
 | |
|   def new 
 | |
|     @keyword = ReversedKeyword.new
 | |
|   end
 | |
| 
 | |
|   def edit 
 | |
|   end
 | |
| 
 | |
|   def create 
 | |
|     @keyword = ReversedKeyword.new(keyword_params)
 | |
|     if @keyword.save
 | |
|       redirect_to admins_reversed_keywords_path
 | |
|       flash[:success] = '系统保留关键词创建成功'
 | |
|     else
 | |
|       redirect_to admins_reversed_keywords_path
 | |
|       flash[:danger] = @keyword.errors.full_messages.join(",")
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def update 
 | |
|     
 | |
|     respond_to do |format|
 | |
|       if @keyword.update_attributes(keyword_params)
 | |
|         format.html do 
 | |
|           redirect_to admins_reversed_keywords_path
 | |
|           flash[:success] = '系统保留关键词更新成功'
 | |
|         end
 | |
|         format.js {render_ok}
 | |
|       else 
 | |
|         format.html do 
 | |
|           redirect_to admins_reversed_keywords_path
 | |
|           flash[:danger] = @keyword.errors.full_messages.join(",")
 | |
|         end
 | |
|         format.js {render_js_error}
 | |
|       end
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def destroy 
 | |
|     if @keyword.destroy 
 | |
|       redirect_to admins_reversed_keywords_path 
 | |
|       flash[:success] = "系统保留关键词删除成功"
 | |
|     else 
 | |
|       redirect_to admins_reversed_keywords_path 
 | |
|       flash[:danger] = "系统保留关键词删除失败"
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   private 
 | |
|   def keyword_params 
 | |
|     params.require(:reversed_keyword).permit!
 | |
|   end
 | |
| 
 | |
|   def get_keyword
 | |
|     @keyword = ReversedKeyword.find_by(id: params[:id])
 | |
|     unless @keyword.present?
 | |
|       redirect_to admins_reversed_keywords_path 
 | |
|       flash[:danger] = "系统保留关键词不存在"
 | |
|     end
 | |
|   end
 | |
| 
 | |
|   def validate_identifer 
 | |
|     identifer = keyword_params[:identifier].to_s.downcase
 | |
|     if identifer.blank?
 | |
|       redirect_to admins_reversed_keywords_path
 | |
|       flash[:danger] = '系统保留关键词标识不能为空'
 | |
|     elsif ProjectLanguage.exists?(name: identifer)
 | |
|       redirect_to admins_reversed_keywords_path
 | |
|       flash[:danger] = '系统保留关键词已存在'
 | |
|     end
 | |
|   end
 | |
| end |