【Rails基礎】たった1行でアプリができる!scaffoldの使い方




 

Railsには色々なコマンドがありますね。

中でもチート級に便利なのが

scaffold

です。

scaffoldとは、英語で「足場」の意味を持つ単語。

工事現場でよく見る足場のことですね。

要は、Railsのscaffoldではアプリ開発の足場を一瞬で作れるコマンドなのです。

これを発動すれば、Railsアプリ開発という工事をすぐに始められるのですね。

今日はこのscaffoldの使い方をまとめておきました。

 

Railsのscaffoldの使い方

使い方は簡単です。

アプリのディレクトリに移動したら、次のコマンドが発動するだけ。

そして、その後にマイグレーションファイルを実行する

を唱えると、データベースまで誕生します。

このたった2行でRailsアプリができちゃうのですね。

 

Railsのscaffoldでは何ができるのか?

それでは、Railsのscaffoldでは何ができるのでしょうか??

ここではscaffoldでuserモデルを作った例を紹介します。

を発動し、

  • name(string型)
  • age(integer型)

という2カラムを作成したとします。

 

モデルファイル

まず、モデルファイルですね。

Userモデルでscaffoldを作ると、

user.rb

というモデルファイルができます。モデルファイルの中身はこんな感じ。

 

 

コントローラー

もちろんコントロールも作られます。

しかも、ただ作るだけじゃなく、中身もちゃんと入っていますね。

例えば、Userモデルでscaffoldを発動すると、

users_controller.rb

というコントローラーが誕生し、その中身は次のようになっていますね。

 

いやあ、すごい。

indexからdestroyまで各アクションが勢揃いです。

 

ビューファイル

もちろんビューファイルも誕生します。

  •  edit.html.erb
  • index.html.erb
  • show.html.erb
  • new.html.erb

というあらかた必要なビューファイルがたった1行のコマンドで誕生するのです。

 

ルーティング

もちろん、ルーティングも完璧です。

という1行しか書いてありませんが、この1行で指定したモデルのindexからdestroyまでルーティングの設定が完了。

いや、凄まじいですね。

 

データベースもできる

もちろん、$ rails db:migrate を発動すれば、データベースもできますね。

 

Railsのscaffoldでどんなアプリができるのか?

それでは、実際にどんなアプリがscaffoldでできたのか見ていきましょう。

ローカルホストのトップ(http://localhost:3000/)に飛んでみると、Railsのウェルカム画面。

Image from Gyazo
userモデルでscaffoldを作ったら(http://localhost:3000/users)へ。

すると、こんな感じのアプリが持っています。

 

Image from Gyazo
userを追加できますし、userの詳細も見れます。

user情報の更新もできるし削除もできます。

これは凄いですね。

もちろん、デザインが未適用なので、味気ないですが、アプリの足場としては申し分ないです。

 

scaffoldは初心者におすすめできない?

ただし、です。

scaffoldを使えばあまりにも簡単にRailsアプリが作れるので、巷では初心者は使うべからずと言われています。

なぜなら、Railsアプリの仕組みを理解しないままブラックボックス状態でアプリを作ることになるからです。

ぼく自身、初期段階でscaffoldに出会ってしまい、scaffoldを乱用。

しかし、scaffoldを乱用しすぎると、応用が効きにくかったのです。

 

scaffoldでモデルを作ると、indexからdestroyまでアクションが勢揃い。

つまり、scaffoldに頼るとすべてのモデルでindexからdestroyまでアクションが勢揃いするのです。

結果的に、このscaffoldの枠を出たアプリを作れないままでした。

 

scaffoldに頼りすぎ、スキルアップできずにRailsアプリの勉強をやめてしまった過去がありました。

そのため、現在はscaffoldに頼らないアプリ開発の修行に励んでいます。

 

Railsは初心者の時ほど、苦労した方が良く、ルーティングをしこしこ書いて、コントローラーにアクションを追加し、ビューファイルを自力で作成するのが一番。

このように「脱scaffold」してから、Railsアプリの仕組みがわかってきた気がします。

ただ、このscaffoldが便利なのはどっからどうみても明らかです。

何かRailsアプリで試したいことがあったら、すぐに足場が作れるのが便利ですね。

たった2行でルーティング、ビューファイル、コントローラー、データベースまで完成してしまうのですから。

 

scaffoldの削除方法は?

という感じで、一瞬で簡単にアプリを作れましたが、

scaffoldで作ったモデルファイル達を削除したい時

はどうすればいいんでしょう?

 

じつは、削除方法も簡単です。

の1行でいいのです。

例えば、userモデルを作成したscaffoldを無効にしたい場合、

ですね。

 

このコマンドを発動すると、指定したモデル名で作成したscaffoldファイルがごっそり消えます。

ただし、scaffoldを発動しても、データベースは残ってしまいますけどね。

こんな感じで作るのは簡単だし、削除して撤退も簡単ときています。

時と場合に応じてscaffoldを試してみてください。

 

それでは!

Lin

Pocket
LINEで送る




音生入力で楽にブログを書く技が満載!
ブログ音声入力術

音声入力の使い方から文章を書くコツまで完全網羅。ブログを書きたいすべての人向けの電子書籍




コメントを残す

メールアドレスが公開されることはありません。