後へ      Topへ      次へ

Scaffold: MVCの自動生成

bin フォルダ

Ruby での開発を進めていると、
複数バージョンの Rails を同時にメンテする事もあります。
それぞれ正しいバージョンのツールを使わないと困ったことになります。

例えば、  
単に **rails -v** とすると、  
Ruby に登録されている最新Rails のバージョンが表示されます。  

Rails new した時に、
bin フォルダに、使うべき最低限のツールが用意されています。
なので、
ruby bin/rails -v とすれば、
その Rails アプリで使うべきバージョンの rails が使えます。

Scaffold

前章で準備ができたので、
ここから実際のコードを書いていきます。

Rails は MVCモデルを採用しています。
個々にファイルを作成していってもいいのですが、
Scaffold を使えば、簡単に自動生成できます。

個人の感想で言うと、
実用に耐えるかと言われると微妙に思えるのですが、
ベースを Scaffold で作ってから修正していくのも良いかと。

書式は
rails generate scaffold 名前 [カラム名:型[:index]..] [オプション]
です。
詳細な仕様は Rails ドキュメント を参照してください。

ユーザー(User)で名前(name)を使いたいなら、
ruby bin/rails generate scaffold User name:string
ruby bin/rails db:migrate
とすれば OK です。

rails db:migrate
はデータベースの生成を実行するコマンドです。
別章で説明します。

サンプルコードでは、
ruby bin/rails generate scaffold User        enabled:boolean name:string is_admin:boolean is_librarian:boolean
ruby bin/rails generate scaffold Floor       enabled:boolean name:string
ruby bin/rails generate scaffold Cabinet     enabled:boolean name:string floor:references
ruby bin/rails generate scaffold Step        enabled:boolean name:string cabinet:references
ruby bin/rails generate scaffold Category    enabled:boolean name:string
ruby bin/rails generate scaffold Book        enabled:boolean name:string isbn:string category:references step:references memo:string
ruby bin/rails generate scaffold Log         status:integer book:references user:references
ruby bin/rails db:migrate
説明
string 文字
boolean 論理 (true/false)
integer 整数
references 別章で説明

全てファイルの新規追加なので、実際にコマンドを実行して現物を見たほうが良いですが、
リポジトリ的には、
https://github.com/Bonv-dev/book_mgmt/commit/8464093
に差分があります。


後へ      Topへ      次へ