@ledsun blog

Hのキーがhellで、Sのキーがslaveだ、と彼は思った。そしてYのキーがyouだ。

Ruby on Railsでサクサクとアプリケーションのプロトタイプを作る練習

お題を PC管理台帳とします。 ごくごく簡単なリリースが一つだけの一覧画面を作ろうと思います。

プロジェクトの初期化

bundle init

Gemfileからrailsコメントアウトを外します。

bundle

bundlerってnpx的なテンポラリーな実行コマンドってないんでしたっけ?

bundle exec rails new --help

ヘルプを見ながら適当に機能を絞り込みます。 プロトタイプの段階ではこの手順は要らないかもしれません。

bundle exec rails new . -MCJT --skip-active-strage --skip-active-job

scaffoldでリソースを作成

色々なファイルを用意するのは面倒くさいので、scaffoldを使います。

bundle exec rails g scaffold --help

ヘルプを見ながら適当にカラムを考えます。 カラムはあとで GitHub - winebarrel/ridgepole: Ridgepole is a tool to manage DB schema. It defines DB schema using Rails DSL, and updates DB schema according to DSL. (like Chef/Puppet) を入れるつもりであまりちゃんと考えません。

bundle exec rails g scaffold computer user_name:string maker:string memory:string release_year:integer
bundle exec rails db:prepare
bundle exec rails s

f:id:ledsun:20210508040312p:plain
Scaffoldで生成したPC管理台帳の一覧画面

ridgepoleの導入

Gemfileにgem 'ridgepole'を追記します。

bundle exec ridgepole -c config/database.yml --export -o Schemafile

Schemafileを編集して、次のコマンドを実行すればカラムの調整は割と簡単にできそうです。

bundle exec ridgepole -c config/database.yml --apply

Github リポジトリ

github.com

ここまでのソースコードです。

感想

雑にもう少しおしゃれな一覧画面にしたいです。