🔴
【Ruby】Railsのscaffoldコマンドについて
はじめに:
プログラミング初学者がRailsアプリケーションを動かす際に必要な知識として、scaffoldがある。プログラミング初学者がVScodeを用いてRails環境の構築後、scaffoldコマンドを用いてCRUD処理を実装できることを目標とした記事となっている。
この記事を読むことで得られる結果:
ローカル環境(自分のPC)にインストールされているVScodeからRailsアプリケーションをブラウザで表示させ、scaffoldコマンドを用いてCRUD処理を実装できる。
環境:
環境構築がまだの方はこちらから
- windows 11
- Vscode 1.87.2
- Ubuntu 22.04
- wsl 2.1.5.0
- ruby 3.2.3
- rails 6.1.7
- sqlite3 3.37.2
使うフォルダは以下の通り、(★)のファイルを使用していく。
フォルダ名 | 目的・内容 |
---|---|
app/ | モデル(★)、ビュー(★)、コントローラ(★)のディレクトリ |
config/ | ルーティング(★)や言語設定やその他各種設定ファイルのディレクトリ |
db/ | データベースに関するディレクトリ(★) |
scaffoldとは(基礎):
scaffoldコマンドの基本構文
ターミナル
rails g scaffold モデル名 フィールド名1:データ型1 フィールド名2:データ型2 …
MVCモデルやCRUDの理解ができてない方はこちら
scaffoldコマンドを実行してみよう
1: ターミナルでscaffoldコマンドを実行する。
ターミナル
rails g scaffold comment body:text
ターミナル(出力結果)
Running via Spring preloader in process 362854
invoke active_record
create db/migrate/20240411111914_create_comments.rb
create app/models/comment.rb
invoke test_unit
create test/models/comment_test.rb
create test/fixtures/comments.yml
invoke resource_route
route resources :comments
invoke scaffold_controller
create app/controllers/comments_controller.rb
invoke erb
create app/views/comments
create app/views/comments/index.html.erb
create app/views/comments/edit.html.erb
create app/views/comments/show.html.erb
create app/views/comments/new.html.erb
create app/views/comments/_form.html.erb
invoke resource_route
invoke test_unit
create test/controllers/comments_controller_test.rb
create test/system/comments_test.rb
invoke helper
create app/helpers/comments_helper.rb
invoke test_unit
invoke jbuilder
create app/views/comments/index.json.jbuilder
create app/views/comments/show.json.jbuilder
create app/views/comments/_comment.json.jbuilder
invoke assets
invoke scss
create app/assets/stylesheets/comments.scss
invoke scss
identical app/assets/stylesheets/scaffolds.scss
マイグレーションファイル、ルーティング、ビュー、モデル、レイアウトファイルなどが一括で作成される。
2: ターミナルからサーバーを起動し、表示を確認する。(おそらくエラー画面になるはず)
エラー画面
「マイグレーションの実行ができていません」というエラー画面が出ているかと思います。
4: マイグレーションの実行する。
ターミナル
$ rails db:migrate
5: http://localhost:3000/comments/new
へアクセスし、エラー画面にならないことを確認する。
コメントの投稿画面
5: 再度ターミナルからルーティングを確認する。(8つのルーティングが作成されていればOK)
参考サイト
おわりに
今回、プログラミング初学者がRailsアプリケーションを動かす際に必要な知識の【scaffold】を学んだ。scaffoldコマンドを用いることで簡単にCRUD処理を実装することが可能となる。
Discussion