LoginSignup
0

More than 5 years have passed since last update.

初心者がRailsガイドを1から100まで読んでみる Railsをはじめよう編その4 モデル

Last updated at Posted at 2018-09-21

5.4.Articleモデルを作成する

とうとうモデルくんが姿を表しました。
今まではコントローラとビューの挙動について色々と学んできました。
ビューからリクエストを送信して、その中身(パラメータ)を受け取ったコントローラ(のアクション)がごにょごにょして別のビューに渡したりする。
そのやりとりはルーティングをもとに行われる。
そんな感じでした。

でも肝心のデータの保存先についてはまだ言及されていませんでした。
ITとはInformartion Technology(情報技術)の略で情報を扱うのが本業です。その情報はデータベースに格納されます。データの流れを把握すれば、そのシステムを把握できたと言っても過言ではないでしょう。
とっても大事なデータ、それを扱うのがモデルくんです。

「Railsのモデルは、単数形の名前を持ち、対応するデータベーステーブル名は複数形で表されるというルールがあります。」
例えばモデルの名前はArticle(単数形)だとしたらデータベースのテーブル名はarticles(複数形)だということですね。
Railsの哲学である「設定より規約」ってここら辺の命名規則も含まれてるのかな。
モデルを作ればテーブルも同時に作られるのか。

モデル作成用のジェネレータがあります。
$ rails generate model Article title:string text:text
このコマンドの見方だけど、
「Articleって名前のモデルを作るよ。そのテーブルにはstring型のtitleという項目と、text型のtextという項目を設定するよ」という意味だ。
IMG_20180921_224701.jpg

実際にコマンドを打ってみるとこうなる。
スクリーンショット 2018-09-21 16.55.00.png

いくつかファイルが作られた。
でも今必要なのはこの二つらしい。

article.rb
class Article < ApplicationRecord
end
タイムスタンプ_create_articles.rb
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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0