Class: Tramway::Admin::HasAndBelongsToManyRecordsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/tramway/admin/has_and_belongs_to_many_records_controller.rb

Instance Method Summary collapse

Methods included from RecordRoutesHelper

#edit_record_path, #new_record_path, #record_path, #records_path

Instance Method Details

#createObject



4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/tramway/admin/has_and_belongs_to_many_records_controller.rb', line 4

def create
  base_object = params[:model_class].constantize.find params[:object_id]
  form_class = params[:form].constantize
  record_form = form_class.new base_object
  sending_params = if params[params[:model_class].underscore].present?
                     params[params[:model_class].underscore]
                   else
                     params[form_class.associated_as]
                   end
  if record_form.submit sending_params
    redirect_to params[:redirect].present? ? params[:redirect] : record_path(base_object, model: base_object.class)
  else
    redirect_to params[:redirect].present? ? params[:redirect] : record_path(base_object, model: base_object.class)
  end
end

#destroyObject



20
21
22
23
24
25
26
27
28
# File 'app/controllers/tramway/admin/has_and_belongs_to_many_records_controller.rb', line 20

def destroy
  base_object = params[:model_class].constantize.find params[:object_id]
  record_form = params[:form].constantize.new base_object
  if record_form.submit params[:id]
    redirect_to params[:redirect].present? ? params[:redirect] : record_path(base_object, model: base_object.class)
  else
    redirect_to params[:redirect].present? ? params[:redirect] : record_path(base_object, model: base_object.class)
  end
end