Advertisement
Guest User

Untitled

a guest
Mar 31st, 2015
214
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.00 KB | None | 0 0
  1. class ResourceController < ApplicationController
  2. def index
  3. resource = params[:ids].present? ? resource_name.where(id: params[:ids]) : resource_name.all
  4. render json: resource
  5. end
  6.  
  7. def show
  8. render json: resource_name.find(params[:id])
  9. end
  10.  
  11. def create
  12. resource = resource_name.new(resource_params)
  13.  
  14. if resource.save
  15. render json: resource
  16. else
  17. render json: resource, status: :unprocessable_entity
  18. end
  19. end
  20.  
  21. def update
  22. resource = resource_name.find(params[:id])
  23.  
  24. if resource.update(resource_params)
  25. render json: resource
  26. else
  27. render json: resource, status: :unprocessable_entity
  28. end
  29. end
  30.  
  31. def destroy
  32. resource = resource_name.find(params[:id])
  33. resource.destroy
  34. render json: {}
  35. end
  36.  
  37. private
  38.  
  39. def resource_name
  40. @resource_name ||= params[:controller].split('/').last.classify.constantize
  41. end
  42.  
  43. def resource_params
  44. raise "Please override the resource_params method in your controller class '#{(params[:controller])}'"
  45. end
  46. end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement