Sha256: 95d2e6b33fef2ddf778126570baf4a0feffcec896d5ed6736c9a68e1188026da

Contents?: true

Size: 1.61 KB

Versions: 10

Compression:

Stored size: 1.61 KB

Contents

class Admin::<%= class_name.pluralize %>Controller < Occams::Admin::BaseController

  before_action :build_<%= file_name %>,  only: [:new, :create]
  before_action :load_<%= file_name %>,   only: [:show, :edit, :update, :destroy]

  def index
    @<%= file_name.pluralize %> = <%= class_name %>.page(params[:page])
  end

  def show
    render
  end

  def new
    render
  end

  def edit
    render
  end

  def create
    @<%= file_name %>.save!
    flash[:success] = '<%= class_name.titleize %> created'
    redirect_to action: :show, id: @<%= file_name %>
  rescue ActiveRecord::RecordInvalid
    flash.now[:danger] = 'Failed to create <%= class_name.titleize %>'
    render action: :new
  end

  def update
    @<%= file_name %>.update!(<%= file_name %>_params)
    flash[:success] = '<%= class_name.titleize %> updated'
    redirect_to action: :show, id: @<%= file_name %>
  rescue ActiveRecord::RecordInvalid
    flash.now[:danger] = 'Failed to update <%= class_name.titleize %>'
    render action: :edit
  end

  def destroy
    @<%= file_name %>.destroy
    flash[:success] = '<%= class_name.titleize %> deleted'
    redirect_to action: :index
  end

protected

  def build_<%= file_name %>
    @<%= file_name %> = <%= class_name %>.new(<%= file_name %>_params)
  end

  def load_<%= file_name %>
    @<%= file_name %> = <%= class_name %>.find(params[:id])
  rescue ActiveRecord::RecordNotFound
    flash[:danger] = '<%= class_name.titleize %> not found'
    redirect_to action: :index
  end

  def <%= file_name %>_params
    params.fetch(:<%= file_name %>, {}).permit(<%= model_attrs.collect{|attr| ":#{attr.name}"}.join(', ') %>)
  end
end

Version data entries

10 entries across 10 versions & 1 rubygems

Version Path
occams-1.1.0 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.8 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.7.3 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.7.2 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.7.1 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.7 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.6.1 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.6 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.5 lib/generators/occams/scaffold/templates/controller.rb.tt
occams-1.0.4 lib/generators/occams/scaffold/templates/controller.rb.tt