🏗️

万屋コマンド "scaffold"

2020/12/28に公開

"Scaffold"の意味

a structure made of scaffolding for workers to stand on when they want to reach high parts of a building - Cambridge Dictionary

つまり、高い建物を建設する職人さんのための足場。


Douglas Sacha/Moment/GettyImages

これのこと!

"Scaffold" on Rails

scaffoldコマンドでWebアプリケーションの足場となるファイルを生成する事ができます。

以下のコマンドを実行した場合...

rails g scaffold items
  • itemsのルーティング(with resourcesメソッド)
  • itemsのコントローラー
  • itemのモデル
  • itemsのビューファイル(index, new, edit, show, form)
  • テストコード関連のファイル

以上全てを生成してくれます。

勝手にマイグレート

scaffoldコマンドにはオプションもあります。

今回実際に使用したコマンドがこちら。

rails g scaffold CheckItem chef:references favorite:references

するとマイグレーションファイルを自動で作成。

class CreateCheckChefs < ActiveRecord::Migration[6.0]
  def change
    create_table :check_chefs do |t|
      t.references :chef, null: false, foreign_key: true
      t.references :favorite, null: false, foreign_key: true
      t.timestamps
    end
  end
end

あとはrails db:migrateを実行するだけでDBにテーブルを作成できました。すごい便利。

SOTD

自分で調べて開発を進めていると、今回のscaffoldのような思わぬ収穫があるもの。
初めてこの文字列をみた時はプリズンブレイクのマイケル・スコフィールドが脳裏をよぎりました。

参考:
https://www.rubyguides.com/2020/03/rails-scaffolding/

Discussion