Railsではコントローラやビューからモデルを使うプログラムを書くことがほとんどであり、まず機能に関連するモデルを用意するのが一般的だ。
//Postモデルの作り方。//
モデルは主に
1,モデルに対応するRubyのクラス
2,モデルに対応するデータベースのテーブル
の二つから構成される。
ちなみに命名の規則として
1は大文字で
2は小文字の複数形で書かなければならない。
理由は簡単で、データベースは複数のものを取り出すときに使う。
また、モデルはデータベースの書き込みならず読み出しも行う。
モデルは単体でデータベースが複数あるイメージを持っていただけると命名規則もわかりやすいかと思う。
つまり今回、例えば
1モデルをTaskと名づけたのなら2のデータベースはtasksと複数形になる。
次にどんなカラムを持たせるのかも考える。
bin/rails g model [モデル名][属性名:データ型 属性名:データ型]
bin/rails g model Post name:string//短い文字列// comment:text //数字//
1、railsのモデルクラスはデータベースのテーブルに定義を読み込みます。
2、モデルを作成する場合はデータベースのテーブルに追加を行う。
3、データベースにテーブルを追加するには、railsの用意しているマイグレーションというファイルを作成する。
db/migrate/qqqqqqqq_create_posts.rb
というファイルの中に記述することで新しいデータベースのカラムを作成することができる。
//保存方法 これを忘れないこと!!!//
bin/rails db:migrate
でデータベースにテーブルが追加される。
モデルが動くためにはデータベースとモデルクラスが必要になってくる。
先ほどのgeneratorでapp/models/posts.rbがあるのでそこでモデルクラスは既に作られている。
これでモデルとデータベースの定義は終了です。
///コントローラーとビュとルーテイングの設定///
bin/rails g controller コントローラ名 [アクション名 アクション名]
bin/rails g controller posts index show edit new
config/routes.rbの中身
resources :posts
root to: 'posts#index'
resourcesモデルは前のアクションに関するルーテイングを一括でまとめてくれる。
またroot to でアクセス時にどこに最初に入っていくのかの設定もすることができる。