1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

モデルを作る

Last updated at Posted at 2022-03-26

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 でアクセス時にどこに最初に入っていくのかの設定もすることができる。

1
0
0

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
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?