Sha256: b628936700b3681c38f3addf01172545faa45fd9570c6fa3f27550f69be7abe7
Contents?: true
Size: 1.44 KB
Versions: 40
Compression:
Stored size: 1.44 KB
Contents
module Virgo class Admin::SlidesController < Admin::BaseController before_action :set_slideshow, only: collection_actions before_action :set_slide, only: member_actions def new @slide = @slideshow.slides.new end def create @slide = Slide.new(slide_params) if @slide.save flash[:notice] = "Your new slide has been added" redirect_to edit_admin_slideshow_path(@slide.slideshow) else render :new end end def edit end def update if @slide.update(slide_params) flash[:notice] = "Slide settings updated" redirect_to edit_admin_slideshow_path(@slide.slideshow) else render :edit end end def positions slide_data = params[:slides] slide_data.values.each do |data| slide = Slide.find(data[:id]) authorize! :manage, slide slide.update!(position: data[:position]) end head :ok end def destroy authorize! :destroy, @slide @slide.destroy flash[:notice] = "Slide removed from slideshow" redirect_to edit_admin_slideshow_path(@slide.slideshow) end private def slide_params params.permit(slide: [:image_id, :title, :text, :slideshow_id, :position, :video_embed])[:slide] end def set_slideshow @slideshow = Slideshow.find(params[:slideshow_id]) end def set_slide @slide = Slide.find(params[:id]) end end end
Version data entries
40 entries across 40 versions & 1 rubygems