
egghead
Проект egghead.io представляет огромный выбор курсов и скринкастов для разработчиков любого уровня и профессии.
Rails Todo API Часть 1 — это вводный разбор создания простого, но расширяемого REST API на Rails. В этом уроке вы шаг за шагом увидите, как подготовить окружение, настроить маршруты, контроллеры и модели, а также реализовать базовые CRUD‑операции для TODO‑приложения, предназначенного для работы с AngularJS или любым другим фронтендом. Материал подходит как новичкам в Rails, так и разработчикам, желающим укрепить навыки построения API.
Урок объясняет фундаментальные принципы построения API на Rails и помогает быстро перейти к практике.
Перед созданием API необходимо убедиться, что установлены Ruby, Rails и необходимые зависимости.
Вы начнёте с генерации приложения в API‑режиме, что делает проект легче и быстрее.
rails new todo_api --api
cd todo_api
Модель Task будет основной сущностью TODO‑приложения.
rails g model Task title:string completed:boolean
rails db:migrate
Используйте ресурсные маршруты, чтобы сократить код и обеспечить стандартную структуру URL.
resources :tasks
Контроллер отвечает за обработку запросов и возврат JSON‑ответов.
class TasksController < ApplicationController
def index
render json: Task.all
end
def show
render json: Task.find(params[:id])
end
def create
task = Task.new(task_params)
if task.save
render json: task, status: :created
else
render json: task.errors, status: :unprocessable_entity
end
end
private
def task_params
params.require(:task).permit(:title, :completed)
end
end
В первой части вы создали базовый REST API на Rails, научились работать с моделями, маршрутами и контроллерами. В следующей части мы расширим функциональность, добавим обработку ошибок, улучшенный формат ответов и интеграцию с AngularJS.

Проект egghead.io представляет огромный выбор курсов и скринкастов для разработчиков любого уровня и профессии.