Sha256: 8642d3299c2dfab25ff6ce0b1a973d04fcb50e5f441c57690a1f4f31bc8e27b1

Contents?: true

Size: 1.39 KB

Versions: 5

Compression:

Stored size: 1.39 KB

Contents

module Admin
  class AromasController < Fae::ApplicationController
    before_action :set_item, only: [:show, :edit, :update, :destroy]

    layout false, except: :index
    helper Fae::ApplicationHelper

    def new
      @item = Aroma.new
      @item.release_id = params[:item_id]
      build_assets
    end

    def edit
      build_assets
    end

    def create
      @item = Aroma.new(permitted_params)

      if @item.save
        @parent_item = @item.release
        flash[:notice] = 'Item successfully created.'
        render template: 'admin/aromas/table'
      else
        build_assets
        render action: 'new'
      end
    end

    def update
      if @item.update(permitted_params)
        @parent_item = @item.release
        flash[:notice] = 'Item successfully updated.'
        render template: 'admin/aromas/table'
      else
        build_assets
        render action: 'edit'
      end
    end

    def destroy
      @parent_item = @item.release

      if @item.destroy
        flash[:notice] = 'Item successfully removed.'
      else
        flash[:alert] = 'There was a problem removing your item.'
      end
      render template: 'admin/aromas/table'
    end

    private

    def set_item
      @item = Aroma.find(params[:id])
    end

    def permitted_params
      params.require(:aroma).permit!
    end

    def build_assets
      @item.build_image if @item.image.blank?
    end

  end
end

Version data entries

5 entries across 5 versions & 1 rubygems

Version Path
fae-rails-1.3.0 spec/dummy/app/controllers/admin/aromas_controller.rb
fae-rails-1.2.5 spec/dummy/app/controllers/admin/aromas_controller.rb
fae-rails-1.2.4 spec/dummy/app/controllers/admin/aromas_controller.rb
fae-rails-1.2.3 spec/dummy/app/controllers/admin/aromas_controller.rb
fae-rails-1.2.2 spec/dummy/app/controllers/admin/aromas_controller.rb