1
/
5

【初学者向け】Ruby on Railsを用いてTODOリストを管理するAPIを作ってみた【株式会社ライトコード】

はじめに

現在の業務では、バックエンドでRuby on Railsを使用しています。私はSwift・ReactNativeなどのモバイルの技術を触ってきたので、サーバーサイドの知見が少ないです。今回はサーバーサイドの概要を理解するために、TODOリストを管理するAPIを作成していきます。この記事はAPIを作成し、ローカル環境で起動し、HTTPリクエストにおけるGET・POST・PUT・DELETEメソッドなどの基本的な部分を理解することを目的に記載しています。公式ドキュメントを参考にしながら理解を進めていきます。

Ruby on Rails 公式ドキュメント

プロジェクトの作成

rails new todo_api --api

--api を指定することで、APIモードでのアプリケーション作成を指示しています。これにより、Railsアプリケーションがフルスタックのウェブアプリケーションではなく、単純なAPIエンドポイントとして構築されます。データベースは、デフォルトでsqliteが適応されます。

プロジェクトディレクトリに移動

cd todo_api/

モデルの作成

rails g model TodoItem title:string description:text completed:boolean

出力結果

invoke active_record

create db/migrate/20240314091844_create_todo_items.rb
create app/models/todo_item.rb
invoke test_unit
create test/models/todo_item_test.rb
create test/fixtures/todo_items.yml

TodoItemモデルとそれに対応するマイグレーションファイルが生成されます。

生成された
- app/models/todo_item.rb
- db/migrate/20240314091844_create_todo_items.rb

ファイルの中身の実装を見てみましょう。

app/models/todo_item.rb

class TodoItem < ApplicationRecord

end

TodoItemという名前でモデルが定義されています。ApplicationRecordは、Railsのすべてのモデルが継承するデフォルトのベースクラスです。このクラスを継承することで、データベースとの連携が可能になります。

db/migrate/20240314091844_create_todo_items.rb

class CreateTodoItems < ActiveRecord::Migration[7.1]

def change
create_table :todo_items do |t|
t.string :title
t.text :description
t.boolean :completed

t.timestamps
end
end
end


このマイグレーションファイルは、CreateTodoItemsという名前でマイグレーションを定義しています。todo_itemsという名前の新しいテーブルをデータベースに作成します。

マイグレーションの実行

rails db:migrate

出力結果

== 20240314091844 CreateTodoItems: migrating ==================================

-- create_table(:todo_items)
-> 0.0008s
== 20240314091844 CreateTodoItems: migrated (0.0008s) =========================

コントローラの作成

TODOItemsのコントローラを作成します。

記事の続きは下のリンクをクリック!

https://rightcode.co.jp/blogs/45969


エンジニア積極採用中です!

現在、WEBエンジニア、モバイルエンジニア、デザイナー、営業などを積極採用中です!

採用ページはこちら:https://rightcode.co.jp/recruit

社員の声や社風などを知りたい方はこちら:https://rightcode.co.jp/blogs?category=life

社長と一杯飲みながらお話しませんか?(転職者向け)

特設ページはこちら: https://rightcode.co.jp/gohan-sake-president-talk

もっとワクワクしたいあなたへ

現在、ライトコードでは「WEBエンジニア」「モバイルエンジニア」「ゲームエンジニア」、「デザイナー」「WEBディレクター」「営業」などを積極採用中です!

ライトコードは技術力に定評のある受託開発をメインにしているIT企業です。

有名WEBサービスやアプリの受託開発などの企画、開発案件が目白押しの状況です。

  • もっと大きなことに挑戦したい!
  • エンジニアとしてもっと成長したい!
  • モダンな技術に触れたい!

現状に満足していない方は、まずは、エンジニアとしても第一線を走り続ける弊社代表と気軽にお話してみませんか?

ネット上では、ちょっとユルそうな会社に感じると思いますが(笑)、
実は技術力に定評があり、沢山の実績を残している会社ということをお伝えしたいと思っております。

  • ライトコードの魅力を知っていただきたい!
  • 社風や文化なども知っていただきたい!
  • 技術に対して熱意のある方に入社していただきたい!

一度、【Wantedly内の弊社ページ】や【コーポレートサイト】をのぞいてみてください。

【コーポレートサイト】https://rightcode.co.jp/

【採用募集】https://rightcode.co.jp/recruit(こちらからの応募がスムーズ)

【wantedlyぺージ】https://www.wantedly.com/companies/rightcode

Invitation from 株式会社ライトコード
If this story triggered your interest, have a chat with the team?
株式会社ライトコード's job postings

Weekly ranking

Show other rankings
Like Hiroyuki Choshi's Story
Let Hiroyuki Choshi's company know you're interested in their content