次は土台づくりです。このパートは何回かに記事を分けます。
まずはデータベースにデータを登録できるようにします。なお、一度にいくつも覚えられないのでバリデーションは考慮していません。
##モデルの作成
MVCのMです。
モデル名は単数形にします。テーブルなどの名前は自動的に複数形で作成されます。
(ramenみたいな日本語は複数形にならなかった。。。)
ここではモデル名をmenuにしています。
% bin/rails g model menu
カラムも最初に作成したい時
% bin/rails g model menu title:string body:text
##☆モデルの削除
名前を間違ってしまった場合に
% bin/rails destroy model menu
##テーブルの作成
自動的にファイルが作成されるので編集。カラムはname, price, descriptionの3つ。
class CreateMenus < ActiveRecord::Migration[6.0]
def change
create_table :XXXXX do |t|
t.string :name
t.integer :price
t.text :description
##マイグレーション
% bin/rails db:migrate
##ストロングパラメータ無効化
勉強不足で説明はできないのですが、これが有効だとDBへのデータ登録がうまくいかないことがあるので、無効にします。記載後はたしかサーバ再起動が必要だったはずです。
28行目あたり(タイムゾーン設定の下に記載しました)
config.time_zone = "Tokyo"
config.action_controller.permit_all_parameters = true
##テスト:データ登録
コンソールでデータ登録をしてみます。最初にrails consoleを起動します。データ登録のコマンドはProgateでやった気がします。
% bin/rails c
irb(main):001:0> menu = Menu.new(name: "ラーメン", price: 600, description: "おいしい")
irb(main):002:0> menu
=> #<Menu id: 1, name: "ラーメン", price: 600, description: "おいしい", created_at: "2020-07-12 00:09:04", updated_at: "2020-07-12 03:25:51">
入力した内容が表示されたら成功です。saveしてrails consoleを終了します。
irb(main):003:0> menu.save
irb(main):004:0> quit