Class: SimpleAdmin::AdminController
- Inherits:
-
ApplicationController
- Object
- ActionController::Base
- ApplicationController
- SimpleAdmin::AdminController
- Defined in:
- app/controllers/simple_admin/admin_controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #extension ⇒ Object
- #extension_post ⇒ Object
- #index ⇒ Object
- #model_edit ⇒ Object
- #model_index ⇒ Object
- #model_new ⇒ Object
- #update ⇒ Object
Instance Method Details
#create ⇒ Object
41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 41 def create form_params = params[@model_name.downcase] @resource = @admin.new_resource(@model_name) @resource.assign_attributes form_params.to_h.symbolize_keys! if @resource.save redirect_to admin_model_index_path @model_name else flash[:error] = "Could not create #{@model_name}! – #{@resource.errors..to_a.join(", ")}" redirect_to admin_model_new_path @model_name end end |
#destroy ⇒ Object
54 55 56 57 58 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 54 def destroy @resource = @admin.get_resource(@model_name, params[:id]) @resource.destroy! redirect_to admin_model_index_path @model_name end |
#extension ⇒ Object
60 61 62 63 64 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 60 def extension @extension = @admin.extensions.find{ |e| e.constant.name == params[:name].camelize } @extension_instance = @extension.instantiate render path_to_extension_view end |
#extension_post ⇒ Object
66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 66 def extension_post @extension = @admin.extensions.find{ |e| e.constant.name == params[:name].camelize } @extension_instance = @extension.instantiate if params[:extension].present? @extension_instance.form_params = params[:extension] if @extension_instance.process! # success flash[:notice] = @extension_instance.flash_notice redirect_to admin_extension_path(params[:name]) else # failure flash[:alert] = @extension_instance.flash_alert render path_to_extension_view end end end |
#index ⇒ Object
12 13 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 12 def index end |
#model_edit ⇒ Object
20 21 22 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 20 def model_edit @resource = @admin.get_resource(params[:model_name], params[:id]) end |
#model_index ⇒ Object
15 16 17 18 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 15 def model_index @resources = @model_name.constantize.order('updated_at DESC').page(params[:page]) || [] render :index end |
#model_new ⇒ Object
24 25 26 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 24 def model_new @resource = @admin.new_resource(params[:model_name]) end |
#update ⇒ Object
28 29 30 31 32 33 34 35 36 37 38 39 |
# File 'app/controllers/simple_admin/admin_controller.rb', line 28 def update form_params = params[@model_name.downcase] @resource = @admin.get_resource(@model_name, params[:id]) @resource.assign_attributes form_params.to_h.symbolize_keys! if @resource.save redirect_to admin_model_index_path @model_name else flash[:error] = "Could not update #{@model_name}! – #{@resource.errors..to_a.join(", ")}" redirect_to admin_model_edit_path(@model_name, params[:id]) end end |