Class: Trestle::Resource::Controller
- Inherits:
-
Admin::Controller
- Object
- ActionController::Base
- ApplicationController
- Admin::Controller
- Trestle::Resource::Controller
- Defined in:
- lib/trestle/resource/controller.rb
Instance Method Summary collapse
- #create ⇒ Object
- #destroy ⇒ Object
- #edit ⇒ Object
- #index ⇒ Object
- #new ⇒ Object
- #show ⇒ Object
- #update ⇒ Object
Methods inherited from Admin::Controller
Methods included from Controller::Location
Instance Method Details
#create ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 |
# File 'lib/trestle/resource/controller.rb', line 25 def create self.instance = admin.build_instance(admin.permitted_params(params), params) if admin.save_instance(instance, params) respond_to do |format| format.html do flash[:message] = ("create.success", title: "Success!", message: "The %{lowercase_model_name} was successfully created.") redirect_to_return_location(:create, instance, default: admin.instance_path(instance)) end format.json { render json: instance, status: :created, location: admin.instance_path(instance) } format.js end else respond_to do |format| format.html do flash.now[:error] = ("create.failure", title: "Warning!", message: "Please correct the errors below.") render "new", status: :unprocessable_entity end format.json { render json: instance.errors, status: :unprocessable_entity } format.js end end end |
#destroy ⇒ Object
92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 |
# File 'lib/trestle/resource/controller.rb', line 92 def destroy success = admin.delete_instance(instance, params) respond_to do |format| format.html do if success flash[:message] = ("destroy.success", title: "Success!", message: "The %{lowercase_model_name} was successfully deleted.") redirect_to_return_location(:destroy, instance, default: admin.path(:index)) else flash[:error] = ("destroy.failure", title: "Warning!", message: "Could not delete %{lowercase_model_name}.") if self.instance = admin.find_instance(params) redirect_to_return_location(:update, instance, default: admin.instance_path(instance)) else redirect_to_return_location(:destroy, instance, default: admin.path(:index)) end end end format.json { head :no_content } format.js end end |
#edit ⇒ Object
65 66 |
# File 'lib/trestle/resource/controller.rb', line 65 def edit end |
#index ⇒ Object
7 8 9 10 11 12 13 |
# File 'lib/trestle/resource/controller.rb', line 7 def index respond_to do |format| format.html format.json { render json: collection } format.js end end |
#new ⇒ Object
15 16 17 18 19 20 21 22 23 |
# File 'lib/trestle/resource/controller.rb', line 15 def new self.instance = admin.build_instance(params.key?(admin.parameter_name) ? admin.permitted_params(params) : {}, params) respond_to do |format| format.html format.json { render json: instance } format.js end end |
#show ⇒ Object
49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 |
# File 'lib/trestle/resource/controller.rb', line 49 def show if admin.singular? && instance.nil? respond_to do |format| format.html { redirect_to action: :new } format.json { head :not_found } format.js end else respond_to do |format| format.html format.json { render json: instance } format.js end end end |
#update ⇒ Object
68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
# File 'lib/trestle/resource/controller.rb', line 68 def update admin.update_instance(instance, admin.permitted_params(params), params) if admin.save_instance(instance, params) respond_to do |format| format.html do flash[:message] = ("update.success", title: "Success!", message: "The %{lowercase_model_name} was successfully updated.") redirect_to_return_location(:update, instance, default: admin.instance_path(instance)) end format.json { render json: instance, status: :ok } format.js end else respond_to do |format| format.html do flash.now[:error] = ("update.failure", title: "Warning!", message: "Please correct the errors below.") render "show", status: :unprocessable_entity end format.json { render json: instance.errors, status: :unprocessable_entity } format.js end end end |