PageRenderTime 1051ms CodeModel.GetById 25ms RepoModel.GetById 0ms app.codeStats 0ms

/app/controllers/admin/meta_tags_controller.rb

https://gitlab.com/slice-group/speakers-web
Ruby | 93 lines | 68 code | 15 blank | 10 comment | 5 complexity | 5e35b143d6ff3d0e0454454ad0374c16 MD5 | raw file
  1. module Admin
  2. # MetaTagController
  3. class MetaTagsController < AdminController
  4. before_action :set_meta_tag, only: [:show, :edit, :update, :destroy]
  5. before_action :show_history, only: [:index]
  6. # GET /meta_tags
  7. def index
  8. @q = MetaTag.ransack(params[:q])
  9. meta_tags = @q.result(distinct: true)
  10. @objects = meta_tags.page(@current_page)
  11. @total = meta_tags.size
  12. if !@objects.first_page? && @objects.size.zero?
  13. redirect_to meta_tags_path(
  14. page: @current_page.to_i.pred, search: @query
  15. )
  16. end
  17. end
  18. # GET /meta_tags/1
  19. def show
  20. end
  21. # GET /meta_tags/new
  22. def new
  23. @meta_tag = MetaTag.new
  24. end
  25. # GET /meta_tags/1/edit
  26. def edit
  27. end
  28. # POST /meta_tags
  29. def create
  30. @meta_tag = MetaTag.new(meta_tag_params)
  31. if @meta_tag.save
  32. redirect(@meta_tag, params)
  33. else
  34. render :new
  35. end
  36. end
  37. # PATCH/PUT /meta_tags/1
  38. def update
  39. if @meta_tag.update(meta_tag_params)
  40. redirect(@meta_tag, params)
  41. else
  42. render :edit
  43. end
  44. end
  45. def clone
  46. @meta_tag = MetaTag.clone_record params[:meta_tag_id]
  47. if @meta_tag.save
  48. redirect_to admin_meta_tags_path
  49. else
  50. render :new
  51. end
  52. end
  53. # DELETE /meta_tags/1
  54. def destroy
  55. @meta_tag.destroy
  56. redirect_to admin_meta_tags_path, notice: actions_messages(@meta_tag)
  57. end
  58. def destroy_multiple
  59. MetaTag.destroy redefine_ids(params[:multiple_ids])
  60. redirect_to(
  61. admin_meta_tags_path(page: @current_page, search: @query),
  62. notice: actions_messages(MetaTag.new)
  63. )
  64. end
  65. private
  66. # Use callbacks to share common setup or constraints between actions.
  67. def set_meta_tag
  68. @meta_tag = MetaTag.find(params[:id])
  69. end
  70. # Only allow a trusted parameter "white list" through.
  71. def meta_tag_params
  72. params.require(:meta_tag).permit(:title, :description, :meta_tags, :url)
  73. end
  74. def show_history
  75. get_history(MetaTag)
  76. end
  77. end
  78. end