いーほろよいの技術ブログ

IT技術ブログになります。

Ruby on Railsのお勉強 〜お問い合わせフォーム編 その3〜

はじめに

前回はrakeコマンドを使用してDBを作成するところまでやりました。

e-horoyoi.hatenablog.com

 

 今回は作成したDBにテーブルとプロジェクトにモデルを作成してみたいと思います。

テーブル構成はその1で書いてある構成を考えております。 

e-horoyoi.hatenablog.com

 

 

モデル&テーブル作成

↓またまた、こちらのドキュメントからコマンドの使用方法を確認しました。

railsコマンド(rails) - - Railsドキュメント

大雑把に流れを説明すると

  • "rails generate model ..."でモデルクラスとMigrationスクリプト()を作成
  • "rake db:migrate ..."でテーブルを作成

※Migrationスクリプトという名称で正解か自信がありません。間違っていたらゴメンなさい。

モデル作成

generaterを使用してモデルの作成をします。

カラムを指定しないでmigrationスクリプトだけ作成して、後でスクリプトを手動で編集しても良いかも知れません。

>bundler exec rails generate model inquiry name:string mail:string telephone:string

上記のコマンドでモデルを作成すると同時に"db/migrate"以下にMigrationスクリプトが生成されます。

その中身が↓になります。 

class CreateInquiries < ActiveRecord::Migration
  def change
    create_table :inquiries do |t|
      t.string :name
      t.string :mail
      t.string :telephone

      t.timestamps null: false
    end
  end
end

 

テーブル作成

Maigrationスクリプトが生成できたら、今度はテーブルの作成です。

先日、DBを作成した時のように権限の強い定義を指定して作成します。

>bundler exec rake db:migrate RAILS_ENV=development_root

問題無ければ下記のようなテーブルが作成されます。

+------------+--------------+------+-----+---------+----------------+
| Field      | Type         | Null | Key | Default | Extra          |
+------------+--------------+------+-----+---------+----------------+
| id         | int(11)      | NO   | PRI | NULL    | auto_increment |
| name       | varchar(255) | YES  |     | NULL    |                |
| mail       | varchar(255) | YES  |     | NULL    |                |
| telephone  | varchar(255) | YES  |     | NULL    |                |
| created_at | datetime     | NO   |     | NULL    |                |
| updated_at | datetime     | NO   |     | NULL    |                |
+------------+--------------+------+-----+---------+----------------+

 後は、modelクラスを整える作業だと思うのですが、この段階だと説明できる事が無いので、コントローラーの組み込みと合わせてモデルクラスを編集していく事にしたいと思います。(Validationとかモデルに含む事になると思うので)

 

一旦、モデルから離れて次回はコントローラーに入りたいと思います。

 

以上、最後まで読んでいただきありがとうございます。