class ProjectsController
Public Instance Methods
create()
click to toggle source
POST /projects
# File natural-backend/app/controllers/projects_controller.rb, line 17 def create @project = current_user.projects.build(project_params) if @project.save render json: @project, status: :created, location: @project else render json: @project.errors, status: :unprocessable_entity end end
destroy()
click to toggle source
DELETE /projects/1
# File natural-backend/app/controllers/projects_controller.rb, line 37 def destroy @project.destroy end
index()
click to toggle source
GET /projects
# File natural-backend/app/controllers/projects_controller.rb, line 5 def index @projects = current_user.projects.all render json: @projects end
show()
click to toggle source
GET /projects/1
# File natural-backend/app/controllers/projects_controller.rb, line 12 def show render json: @project end
update()
click to toggle source
PATCH/PUT /projects/1
# File natural-backend/app/controllers/projects_controller.rb, line 28 def update if @project.update(project_params) render json: @project else render json: @project.errors, status: :unprocessable_entity end end
Private Instance Methods
project_params()
click to toggle source
Only allow a trusted parameter “white list” through.
# File natural-backend/app/controllers/projects_controller.rb, line 48 def project_params ActiveModelSerializers::Deserialization.jsonapi_parse(params, only: [:name]) end
set_project()
click to toggle source
Use callbacks to share common setup or constraints between actions.
# File natural-backend/app/controllers/projects_controller.rb, line 43 def set_project @project = current_user.projects.find(params[:id]) end