学生向けプログラミング入門

学生向けにプログラミングを解説。Java、C++、Ruby、PHP、データベース

Ruby on RailsでWebアプリケーション開発その5 テーブルの作成

<<前  [TOP]  次>>


まずは、商品を格納するテーブルを作成します。
テーブルの名前は必ず複数形にするのがルールです。
この後、実際にRubyでコードを書いていくモデルクラスというものが登場しますが、そのモデルクラスの名前は単数形で最初の文字は大文字というルールがあります。
このようにルール通り名前をつけておくと、モデルクラスでわざわざテーブル名を指定しなくてもRailsが自動的にテーブルを探し出すことが出来ます。


では、商品のテーブルを作成してみましょう。
今回は「goods」という単語を使ってみます。「goods」に単数形はないので無理やりですが、モデル名は「good」にします。


作成するフィールドの内容は次のようにします。

  • goods_id: 商品のID用。integer型
  • title: 商品の名前。text型
  • description: 商品の説明用。text型
  • image_url: 商品の画像URL用。text型
  • price: 商品の価格。integer型
  • date: 商品の登録日。text型
  • maker: 商品の製造業者。text型
  • category: 商品のカテゴリー分類用。text型


    Railsでは「scaffold」を使ってテーブルを生成していきます。

    rails generate scaffold モデル名(単数形) フィールド名1:データ型 フィールド名2:データ型
    



    ではコマンドプロンプトで「shop」フォルダに移動し、「rails generate scaffold good goods_id:integer title:text description:text image_url:text price:integer date:text maker:text category:text」と入力します。
    これでアプリケーションに必要なモデルやビューなどが作成されました。
    f:id:MrRadiology:20180126121442p:plain


    今の操作で「db」フォルダの中の「migrate」フォルダに「20180126022915_create_goods.rb」というファイルが出来ました。
    f:id:MrRadiology:20180126115118p:plain
    中には「scaffold」で指定したテーブルのフィールド情報が書かれています。


    「rake」コマンドを使ってこのファイルをデータベースに適用します。
    コマンドプロンプトで「rake db:migrate」と入力してください。
    f:id:MrRadiology:20180126115256p:plain
    ちなみにこの操作でテーブルが作成されるのは「development.sqlite3」のみです。


    実際にテーブルが出来ているかどうか見てみましょう。
    データベースへの接続は、データベースを作成したときと同じコマンドです。
    「db」フォルダに移動してsqlite3 development.sqlite3と入力します。
    データベースに接続したら「.table」と入力してみましょう。
    f:id:MrRadiology:20180126115518p:plain
    「goods」というテーブルが出来ているのが確認できました。


    今度はテーブルの内容を確認してみます。「.schema」と入力します。
    f:id:MrRadiology:20180126121728p:plain
    このように、設定したとおりのテーブルがdevelopment.sqlite3データベースに出来上がりました。


    <<前  [TOP]  次>>