Rails でアプリを作る①
Railsを使う機会があったので、復習のためにアプリを作ろうと思います。
ちょうど資格の勉強をしているので、学習に関連するアプリが良いかなと。エビングハウスの忘却曲線に基づき、復習するタイミングを管理する学習記録アプリです。
アプリの作成
RubyMineでアプリの雛形を作成します。アプリ名は「kioku」としました。
データベースの変更
データベースをPostgreSQLに変更します。rails6からは rails db:system:change
が使えるようになりました。
% rails db:system:change --to=postgresql
を実行します。
このコマンドを実行すると、Gemfile
と config/database.yml
が変更されます。Gemfile
が変更されたので、bundle
コマンドを実行します。
% handle
デフォルトで作成された db/development.sqlite3
は必要ないので削除します。
rails db:create
コマンドでデータベースを作成します。
% rails db:create Created database 'kioku_development' Created database 'kioku_test'
モデルの検討
モデルについて考えます。アプリの登場人物について考えます。
- 学習記録に関する情報
- 復習に関する情報
まず、「学習記録に関する情報」の属性について考えてみます。
- タイトル
- 内容
学習記録の情報モデルを作成します。モデルは rails g model [モデル名] [カラム名:型]
というコマンドで作成します。
% rails g model Task name:string content:string
マイグレーションファイルは、以下のように作成されます。
[db/migrate/20220312000839_create_tasks.rb].
class CreateTasks < ActiveRecord::Migration[7.0] def change create_table :tasks do |t| t.string :name, null: false, default: "" t.string :content, null: false, default: "" t.timestamps end end end
rails db:migrate
を実行してDBに反映させます。
% rails db:migrate
続きは次回。