railsのお手軽コマンド!(scaffold)
railsに標準で用意されているscaffoldについてまとめます!!
scaffoldとは・・・
直訳すると、足場などの意味になります。
これは、rails の scaffoldを用いることで、アプリの足場というか土台を作成してくれるからです。
アプリの土台は何かというと、MVCモデルにおけるCRUDが自動で作成されるということです。
つまり、scaffoldを用いることで、いちいちコントローラーやモデルを作成しなくても良いということになります!
scaffoldの使い方
$ rails g scaffold [カラム名①]: [型①] [カラム名②]:[型②]
⬆️のように打ち込む。(カラム名と型は必要に応じて増減する)
$ rails g scaffold article title:string
私は⬆️のようにしてみました!
このコマンドを打つだけで、必要なファイルが生成される。
作られるファイル
invoke active_record
create db/migrate/20210728104828_create_articles.rb 👈マイグレーションファイル
create app/models/article.rb 👈モデルファイル
invoke rspec
create spec/models/article_spec.rb 👈rspec(テスト)のファイル
invoke factory_bot
create spec/factories/articles.rb
invoke resource_route
route resources :articles 👈ルートの記述
invoke scaffold_controller
create app/controllers/articles_controller.rb 👈コントローラーのファイル
invoke erb
create app/views/articles 👈ビューファイル
create app/views/articles/index.html.erb
create app/views/articles/edit.html.erb
create app/views/articles/show.html.erb
create app/views/articles/new.html.erb
create app/views/articles/_form.html.erb
invoke resource_route
invoke rspec
create spec/requests/articles_spec.rb 👈rspec(テスト)のファイル
invoke jbuilder 👈非同期通信でjson形式のデータを返すものらしい
create app/views/articles/index.json.jbuilder
create app/views/articles/show.json.jbuilder
create app/views/articles/_article.json.jbuilder
こんな感じでファイルが作られました!
もし、不要なファイルがあるときは、
$ rails g scaffold article title:string --skip-jbuilder
--skip-jbuiderのようなスキップオプションをつけることもできます!
最後に
マイグレーションファイルが作成されているので、db:migrateを忘れずにしましょう!(私は忘れていました。笑)
$ rails db:migrate
まとめ
rails scaffoldについてざっくりまとめてみました。
今までは、勝手にいろいろなファイルが作られるのに抵抗があったり、自分の手で一つ一つMVCやCRUDを作ろうという変なプライドがありました。笑
けれども、scaffoldはやってみると便利ですね。
これからは、使える時には使っていこうと思います!
この記事が気に入ったらサポートをしてみませんか?