TODOアプリを作ろう!
0:機能はなにがある?
新規追加機能が付いている
それぞれに編集機能と削除機能がついている
空文字を認めない(ストロングパラメーター)
5文字以上じゃないとタイトルを入力してくださいと言う文字列を返す
チェックボックスを押すと更新しなくてもサーバーと通信をして動的処理を行うAjax機能を付ける
cloud9で開発する
1:環境構築
ターミナルで以下をコマンド
ジェムをインストール(rails) gem install rails --version="5.1.4" --no-document バージョンチェック rails -v touch rails_projects cd /home/ec2-user/environment/rails_projects/ プロジェクトの作成するよ! rails new todo cd todo コントローラー作成するよ! rails g controller Tasks
2:モデル名「Task」を作成
大文字で単数であることに注目
rails g model Task title:string done:boolean
後ろはデータベースの構造を指定している
タイトルはカラム名でStringはデータの型を指定している、
doneはタスクの完了の状態を保持するカラム、
真偽値をとるためbooleanを型としている。
db/migrate/2021***********.rbにcreate_tasksが生成される
t.boolean :done, default: false #追加
3:DBスキーマ(DBの構造)をDBに反映させる
rake db:migrate
データベースを見るとき
rails db sqlite> .schema CREATE TABLE "schema_migrations" ("version" varchar NOT NULL PRIMARY KEY); CREATE TABLE "ar_internal_metadata" ("key" varchar NOT NULL PRIMARY KEY, "value" varchar, "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL); CREATE TABLE "tasks" ("id" INTEGER PRIMARY KEY AUTOINCREMENT NOT NULL, "title" varchar, "done" boolean DEFAULT 'f', "created_at" datetime NOT NULL, "updated_at" datetime NOT NULL);
↑で設定がわかる
.exitでsqliteから出る
続きを読む