概要
本記事は、初学者がRailsを使ってToDoリストを作成する過程を記したものです。
私と同じく初学者の方で、Railsのアウトプット段階でつまづいている方に向けて基礎の基礎を押さえた解説をしております。
抜け漏れや説明不足など多々あるとは思いますが、読んでくださった方にとって少しでも役に立つ記事であれば幸いです。
環境
-
Homebrew: 2.5.10
-> MacOSのパッケージ管理ツール -
ruby: 2.6.5p114
-> Ruby -
Rails: 6.0.3.4
-> Rails -
node: 14.3.0
-> Node.js -
yarn: 1.22.10
-> JSのパッケージ管理ツール -
Bundler: 2.1.4
-> gemのバージョン管理ツール
$ brew -v => Homebrew 2.5.10
$ ruby -v => ruby 2.6.5p114
$ rails -v => Rails 6.0.3.4
$ npm version => node: '14.3.0'
$ yarn -v => 1.22.10
$ Bundler -v => Bundler version 2.1.4
第1章 プロジェクトの立ち上げ
第1章では、Railsでアプリ開発をするための初期設定を行います。初期設定には、iTerm
/VSCode
/Sourcetree
/GitHub
を使用します。
1 iTermでToDoアプリを立ち上げる
まずはターミナルにて、アプリを立ち上げます。
$ rails new [アプリ名] -d postgresql
と入力しましょう。
$ rails new ToDoApp -d postgresql
=>Webpacker successfully installed 🎉 🍰
🙋♂️ToDoAppというディレクトリ(フォルダ)配下にファイルを作成してください。'-d'オプションでデータベースをPostgreSQLに指定します。
💻インストールが完了しファイルを作成しました
2 VSCodeでディレクトリを開く
ファイルの作成が終わったら、VSCodeでディレクトリを開きます。
$ cd ToDoApp
$ code .
🙋♂️ToDoAppディレクトリに移動してください
🙋♂️今いるディレクトリのVSCodeを開いてください
※$ code .
を実行するためにはVSCodeにて以下の設定が必要です。
1. VSCodeにて表示
→コマンドパレット
を開く
2. Shell Command: Install'code'command in PATH
を検索し実行する
3 ToDoアプリをGitで管理する
続いて、ディレクトリをGitで管理できるようにしていきましょう。
- Sourcetreeにて
ファイル
→開く
→ToDoApp
を選択 - 保留中のファイルを選択し、'initial commit'としてコミットする
=>masterブランチが作成される - GitHubの
Repositories
→New
を選択し、Repository nameをつけてCreate repository
を押下する - GitHubのSSHのURLをコピーする
- Sourcetreeの
設定
→リモート
→追加
→名前を'origin'、コピーしたURLを貼り付けて設定を完了する - materブランチで右クリックし、
プッシュ先
→origin
を選択 - GitHubの
<>code
に反映されていればSourcetreeとGitHubの連携完了
4 サーバを立ち上げる
次にサーバの立ち上げを行います。
まず、サーバを立ち上げる前にデータベースの作成を行います。
$ rails db:create
=>Created database 'ToDoApp_development'
Created database 'ToDoApp_test'
🙋♂️データベースを作成してください
💻configのdatabase.ymlに基づいてdevelopmentのデータベースを作成しました
💻configのdatabase.ymlに基づいてtestのデータベースを作成しました
ここまで完了したらサーバを立ち上げましょう。
$ rails s
=>* Environment: development
* Listening on tcp://127.0.0.1:3000
* Listening on tcp://[::1]:3000
Use Ctrl-C to stop
🙋♂️サーバを立ち上げてください
💻Ctrl + C
でサーバを止めることができます
上記のような表示が出たら、ブラウザにて"localhost:3000"と検索してください。
このような画面が出てきたら、Railsでのアプリ作成の準備は終了です。
5 開発を効果的に進めるために①
ここからは開発をより効果的に行うために、いくつかのツールをインストールしていきます。まずはデバッグツールです。
エラーが起こった際に見るべきポイントは2つあり、1つ目はエラーメッセージ
、2つ目は変数の値
です。
では、まず1つ目のエラーメッセージ
を見やすくするbetter_errorsというgem(ライブラリ)を導入していきます。
gem 'better_errors'
gem 'binding_of_caller'
🙋♂️
better_errors
というgemをインストールしてください
🙋♂️binding_of_caller
というgemをインストールしてください
ターミナルで$bundle install
を行えばgemのインストールは完了です。
次に、2つ目の変数の値
を確認するデバッグツールを導入します。このツールを導入することにより、プログラムがどこまで動いていて、どこから動いていないのかを確認することができます。
まずはpry-byebugというgemをインストールします。
group :development, :test do
gem 'pry-byebug'
end
🙋♂️
pry-byebug
というgemをインストールしてください
ターミナルで$bundle install
を行えばgemのインストールは完了です。
デバッグを行う際には、binding.pry
というコードを使う必要がありますが、具体的な使い方は開発を進めながら説明していきます。
6 開発を効果的に進めるために②
次に、モデルに現在のデータベースの構造(schema)をメモするツールを導入していきます。データベースの構造は'schema.rb'を見れば確認することはできますが、モデルの数が多いと確認することは大変です。そのため、モデルにデータベースの構造をメモし、モデルのファイルを開くだけで簡単にデータベースの構造がわかるようにしておくことは開発を行っていく上では大切となってきます。
ではannotateというgemをインストールします。
gem 'annotate'
🙋♂️
annotate
というgemをインストールしてください
ターミナルで$bundle install
を行います。
次に、Railsでの設定を行うためにターミナルで以下のコマンドを実行します。
$ rails g annotate:install
=>create lib/tasks/auto_annotate_models.rake
🙋♂️annotateの設定ファイルを作成してください
💻ファイルを作成しました
以上で、$rails db:migrate
をした際に、モデルに現在のデータベースの構造(schema)がメモされるようになりました。