Class: ActiveCanvas::Admin::MediaController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- ActiveCanvas::Admin::MediaController
- Defined in:
- app/controllers/active_canvas/admin/media_controller.rb
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
34 35 36 37 38 39 40 41 42 |
# File 'app/controllers/active_canvas/admin/media_controller.rb', line 34 def create @media = Media.new(media_params) if @media.save render json: @media.as_json_for_editor, status: :created else render json: { errors: @media.errors. }, status: :unprocessable_entity end end |
#destroy ⇒ Object
44 45 46 47 48 49 50 51 52 |
# File 'app/controllers/active_canvas/admin/media_controller.rb', line 44 def destroy @media = Media.find(params[:id]) @media.destroy respond_to do |format| format.html { redirect_to admin_media_url, notice: "Media deleted successfully." } format.json { head :no_content } end end |
#index ⇒ Object
4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
# File 'app/controllers/active_canvas/admin/media_controller.rb', line 4 def index @media = Media.images.recent respond_to do |format| format.html format.json do # Support pagination for the asset manager page = (params[:page] || 1).to_i per_page = (params[:per_page] || 20).to_i total_count = @media.count paginated_media = @media.offset((page - 1) * per_page).limit(per_page) render json: { data: paginated_media.map(&:as_json_for_editor), meta: { current_page: page, per_page: per_page, total_count: total_count, total_pages: (total_count.to_f / per_page).ceil } } end end end |
#show ⇒ Object
30 31 32 |
# File 'app/controllers/active_canvas/admin/media_controller.rb', line 30 def show @medium = Media.find(params[:id]) end |