Class: SimpleAdmin::ResourcesController

Inherits:
BaseController
  • Object
show all
Defined in:
app/controllers/simple_admin/resources_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



21
22
23
24
25
26
27
28
29
# File 'app/controllers/simple_admin/resources_controller.rb', line 21

def create
  resource = model_klass.new(resource_params)

  if resource.save
    render json: resource
  else
    render json: resource.errors
  end
end

#destroyObject



41
42
43
44
45
# File 'app/controllers/simple_admin/resources_controller.rb', line 41

def destroy
  resource = model_klass.find(params[:id])

  resource.destroy
end

#indexObject



3
4
5
6
7
8
9
10
11
# File 'app/controllers/simple_admin/resources_controller.rb', line 3

def index
  resource_service = ResourcesService.new(params[:model_klass_name], params[:model_fields])
                                     .index_action(params[:per_page], params[:page], params[:sort], params[:query], params[:model_attributes])

  render json: {
    resources: resource_service.resources,
    total: resource_service.total
  }
end

#showObject



13
14
15
16
17
18
19
# File 'app/controllers/simple_admin/resources_controller.rb', line 13

def show
  model_fields = params[:model_fields].map { |model_field| model_field['field_name'] }

  resource = model_klass.find(params[:id]).attributes.slice(*model_fields)

  render json: resource
end

#updateObject



31
32
33
34
35
36
37
38
39
# File 'app/controllers/simple_admin/resources_controller.rb', line 31

def update
  resource = model_klass.find(params[:id])

  if resource.update(resource_params)
    render json: resource
  else
    render json: resource.errors
  end
end