前のパートに戻る 完了して次のパートへ  

  2-1 モデルの作成

このパートではLINE botがやりとりをする際に必要なデータを格納するデータベースを作成します。


モデルとは?

リクエストが保存しているデータを取得したいときや、新しいデータを保存したいとき、データベースとのやり取りが発生します。ユーザーから呼び出されたアクションは、モデルを介して、データベースとのやり取りを行い、データを取得したり新しいデータを保存したりします。

Railsでは、データベースのテーブル毎にモデルが用意されています。

LINE botから能動的にメッセージを送る際には、送信先の「ID」が必要となります。 (※ このIDは普段使っているLINEのIDとは別のものです。) このIDは友達登録された際に取得することができ、取得したIDを保存しておく必要があるのでDBを作ります。

$ rails generate model モデル名 カラム名:データ型

今回はチャット相手のユーザーIDを取得したのでUserモデルを作成します。

それでは下記のコマンドをターミナルに打ち込んでください。

$ rails generate model User line_id:string
ishibashikouheinoMacBook-Pro:line-bot2 koppe$ rails generate model User line_id:string
Running via Spring preloader in process 2723
      invoke  active_record
      create    db/migrate/20190405060949_create_users.rb
      create    app/models/user.rb
      invoke    test_unit
      create      test/models/user_test.rb
      create      test/fixtures/users.yml

上記のコマンドで新しくマイグレーションファイルも作成されます。

早速その作成されたマイグレーションファイルを以下のように編集してください。

line_idは必須項目とするので、null: false を追記しています。

以下のコマンドでデータベースを作成してください。

$ rails db:create
$ rails db:migrate


ishibashikouheinoMacBook-Pro:line-bot2 koppe$ rails db:create
Created database 'line-bot2_development'
Created database 'line-bot2_test'
ishibashikouheinoMacBook-Pro:line-bot2 koppe$ rails db:migrate
== 20190405060949 CreateUsers: migrating ======================================
-- create_table(:users)
   -> 0.0055s
== 20190405060949 CreateUsers: migrated (0.0056s) =============================


以上で今回のパートは終了です。 お疲れさまでした。

議論
8 質問
このコースの評価は?