Class: SimpleAdmin::ResourcesController
- Inherits:
-
BaseController
- Object
- ActionController::API
- BaseController
- SimpleAdmin::ResourcesController
- Defined in:
- app/controllers/simple_admin/resources_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #index ⇒ Object
- #show ⇒ Object
- #show_by ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
31 32 33 34 35 36 37 38 39 |
# File 'app/controllers/simple_admin/resources_controller.rb', line 31 def create resource = model_klass.new(resource_params) if resource.save render json: resource else render json: resource.errors end end |
#destroy ⇒ Object
51 52 53 54 55 |
# File 'app/controllers/simple_admin/resources_controller.rb', line 51 def destroy resource = model_klass.find(params[:id]) resource.destroy end |
#index ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 |
# 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], params[:reflection_tables], params[:reflection_columns]) render json: { resources: resource_service.resources, total: resource_service.total } end |
#show ⇒ Object
15 16 17 18 19 20 21 |
# File 'app/controllers/simple_admin/resources_controller.rb', line 15 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 |
#show_by ⇒ Object
23 24 25 26 27 28 29 |
# File 'app/controllers/simple_admin/resources_controller.rb', line 23 def show_by model_fields = params[:model_fields].map { |model_field| model_field['field_name'] } resource = model_klass.find_by(params[:column_name] => params[:column_value]).attributes.slice(*model_fields) render json: resource end |
#update ⇒ Object
41 42 43 44 45 46 47 48 49 |
# File 'app/controllers/simple_admin/resources_controller.rb', line 41 def update resource = model_klass.find(params[:id]) if resource.update(resource_params) render json: resource else render json: resource.errors end end |