今回は、scaffoldを使用してアプリを作成してみたいと思います。
scaffoldのメリット・デメリット
アプリを作成していく前に簡単にメリット・デメリットを説明しておきます。
✔メリット
- MVCに沿ったファイルを作成してくれる
- 最低限の機能に関するコードを自動で生成してくれる
✔デメリット
- MVCを理解していなくてもアプリができてしまう
非常に便利な機能ではありますが、MVCの流れを理解していない初心者は、一つ一つ自分の手でコードを記述してみることをおすすめします。
アプリ作成
今回使用するアプリケーションを作成していきましょう。
開発環境は以下になります。
- Ruby 2.6.5
- Rails 6.0.0
- MySQL(データベース)
ターミナルで以下のコマンドを実行します。
# アプリの作成
rails _6.0.0_ new scaffold-test-app -d mysql
# 作成したアプリのディレクトリに移動
cd scaffold-test-app
# データベースの作成
rails db:create
scaffold使用方法
実際に使用してみましょう。
今回は、商品(item)を登録、一覧確認、詳細確認、更新、削除できるアプリを作成します。
scaffoldを使用する際、実行のコマンドは以下のようになります。
rails g scaffold モデル名
予めカラムも生成したい場合は、モデル名の後にカラム名:データ型を追加します。
今回カラムは以下を使用します。
- name(商品名):string(文字列)
- price(金額):integer(整数)
コマンドを実行していきましょう。
rails g scaffold item name:string price:integer
ここでは割愛しますが、たくさんのファイルが作成されたかと思います。
次にテーブルを作成します。
ターミナルで以下のコマンドを実行しましょう。
rails db:migrate
テーブルが作成できたら、routingを設定します。
以下のように記述しましょう。
# config/routes.rb
Rails.application.routes.draw do
root "items#index" # 記述を追加
resources :items
# For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
end
localhost:3000にアクセスした際に、どのコントローラーのどのアクションに遷移させるか決めています。
記述することができたら、サーバーを起動して確認してみましょう。
rails s
localhost:3000にアクセスしたとき、以下画像のように表示されていれば問題ありません。
挙動確認
商品の登録、一覧表示、詳細表示、更新、削除が問題なく行われるか確認していきましょう。
確認した内容は、以下のようになります。
- 商品新規登録✕2
- トップページにて登録商品の一覧表示確認
- 商品の詳細ページ確認
- 商品情報の編集
- 商品情報の削除
いかがでしょうか?
とても簡単にアプリケーションを作成することができました。
今回は、コントローラーの記述に触れていませんが、興味があればご自身で確認していただくのが良いかと思います。
アプリケーションの土台を早く作成したい方は、ぜひ活用していきましょう。
最後までご覧頂きありがとうございました。