5.4.Articleモデルを作成する
とうとうモデルくんが姿を表しました。
今まではコントローラとビューの挙動について色々と学んできました。
ビューからリクエストを送信して、その中身(パラメータ)を受け取ったコントローラ(のアクション)がごにょごにょして別のビューに渡したりする。
そのやりとりはルーティングをもとに行われる。
そんな感じでした。
でも肝心のデータの保存先についてはまだ言及されていませんでした。
ITとはInformartion Technology(情報技術)の略で情報を扱うのが本業です。その情報はデータベースに格納されます。データの流れを把握すれば、そのシステムを把握できたと言っても過言ではないでしょう。
とっても大事なデータ、それを扱うのがモデルくんです。
「Railsのモデルは、単数形の名前を持ち、対応するデータベーステーブル名は複数形で表されるというルールがあります。」
例えばモデルの名前はArticle(単数形)だとしたらデータベースのテーブル名はarticles(複数形)だということですね。
Railsの哲学である「設定より規約」ってここら辺の命名規則も含まれてるのかな。
モデルを作ればテーブルも同時に作られるのか。
モデル作成用のジェネレータがあります。
$ rails generate model Article title:string text:text
このコマンドの見方だけど、
「Articleって名前のモデルを作るよ。そのテーブルにはstring型のtitleという項目と、text型のtextという項目を設定するよ」という意味だ。
いくつかファイルが作られた。
でも今必要なのはこの二つらしい。
class Article < ApplicationRecord
end
class CreateArticles < ActiveRecord::Migration[5.1]
def change
create_table :articles do |t|
t.string :title
t.text :text
t.timestamps
end
end
end
モデルくん本体と、マイグレーションファイルというもので、マイグレーションファイルはテーブル作成の元になるファイルらしい。ジェネレータコマンド打っただけではテーブルはまだ作られないんだね。
(このファイルはこの後つかうよ)
モデルくんの中身はまだ空っぽで、マイグレーションファイルにはさっきテーブルに追加しようとコマンドに書いたtitle,textフィールド的なものが書いてあるね。
いよいよ、モデルくんの晴れ舞台というわけだ。
その5
https://qiita.com/Natsuki_on_Rails/items/72e9b304169db3e7448b