Class: StorytimeAdmin::ApplicationController

Inherits:
Object
  • Object
show all
Includes:
Concerns::PolymorphicRouteGeneration
Defined in:
app/controllers/storytime_admin/application_controller.rb

Instance Method Summary collapse

Methods included from Concerns::PolymorphicRouteGeneration

included, #polymorphic_route_components

Instance Method Details

#createObject



35
36
37
38
39
40
41
42
43
44
# File 'app/controllers/storytime_admin/application_controller.rb', line 35

def create
  @model = model.new(permitted_params)
  @model.user = current_user if @model.respond_to? :user

  if @model.save
    redirect_to polymorphic_route_components(model), notice: "#{model_name} successfully created"
  else
    render :new
  end
end

#destroyObject



54
55
56
57
# File 'app/controllers/storytime_admin/application_controller.rb', line 54

def destroy
  @model.destroy
  redirect_to polymorphic_route_components(model), notice: "#{model_name} successfully deleted"
end

#editObject



32
33
# File 'app/controllers/storytime_admin/application_controller.rb', line 32

def edit
end

#index {|@collection_before_pagination| ... } ⇒ Object

Yields:

  • (@collection_before_pagination)


15
16
17
18
19
20
21
22
23
24
25
26
# File 'app/controllers/storytime_admin/application_controller.rb', line 15

def index
  @collection_before_pagination = model.all
  @collection_before_pagination = @collection_before_pagination.where("#{search_keys.join(' ILIKE :q OR ')} ILIKE :q", q: "%#{params[:search]}%") if search_keys.length > 0 && params[:search].present?
  yield @collection_before_pagination if block_given?
  @collection_before_pagination = @collection_before_pagination.order("#{sort_column} #{sort_direction}")
  @collection = @collection_before_pagination.page(params[:page]).per(20)

  respond_to do |format|
    format.html
    format.csv { send_data @collection_before_pagination.to_csv, filename: "#{model_name.underscore.pluralize}-#{Date.today}.csv" }
  end
end

#newObject



28
29
30
# File 'app/controllers/storytime_admin/application_controller.rb', line 28

def new
  @model = model.new
end

#updateObject



46
47
48
49
50
51
52
# File 'app/controllers/storytime_admin/application_controller.rb', line 46

def update
  if @model.update(permitted_params)
    redirect_to polymorphic_route_components(model), notice: "#{model_name} successfully updated"
  else
    render :edit
  end
end