Rails Tutorial、始めました【2章】

2021年2月2日

Rails Tutorial 2章に突入!

1章の記事はこちら↓

Rails Tutorial、始めました【1章】

第2章 Toy アプリケーション

2章ではToyアプリケーションなるものを作っていきます。

超超超、Twitterの簡易版みたいなものですね。

アプリケーションの計画

Twitterにはユーザーと投稿内容が必要です。ここではモデル設計を考えます。

とはいえチュートリアルに答えが書いてあるんで、それを貼ります。

users

idinteger
namestring
emailstring

microposts

idinteger
contenttext
user_idinteger

Usersリソース

どうやらrailsには、モデルに関連するControllerとViewを一括で作成する最強コマンドがあるみたいです。

その名もscaffold!一体何が起きるのか、早速使ってみましょう。

migrateまで終えたらローカルサーバーを起動します。

おお

 

おおお!

おおおおお!すげー!よくわからんけどすげー!webアプリが作れちゃったよママー!

Usersリソースの欠点

これで簡単にwebアプリケーションが完成したわけですけども、もちろん欠点が多いです。

  • データの検証が行われていない
  • ユーザー認証が行われていない
  • テストが書かれていない
  • レイアウトやスタイルがっ整っていない
  • 理解が困難

確かに画面はめっちゃ簡素だし、名前とかメアドは空でも通っちゃいますからね。これでは使い物になりません。

Micropostsリソース

さて、Usersリソースは一旦置いといて、Micropostsリソース(投稿内容)を作っていきましょう。

こちらもscaffoldで同様にできました。

micropostの設定

micropostもできましたが、こちらも色々と問題を抱えています。チュートリアルでは下記2つの解決法を学びました。

  • 最大文字数が設定されていない
  • userと紐づいていない

まず最大文字数の設定ですが、Micropostモデルにバリデーションを追加するだけで簡単に設定できました。

続いて、Userとの紐づけですが、これも超簡単でした。Micropostモデルにコードを1行追加するだけです。

以上で完了ですが、これだと1ユーザー1ツイートしかできないんですよね。何だその縛りプレイは。

というわけで解消しましょう。

これだけ!?と思いましたが、これだけみたいです。いや〜、面白いですね。こりゃあフレームワークの中身まで知っとかないと、後々大問題になりそうな予感がしますね。

感想

以上、Rails Tutorial 2章でした!

今回はRailsの魔法を教わった感じですね。チュートリアル通りにコマンドを打てばいいだけだったので、特につまづくところはありませんでした。所要時間は30分くらいです。

内容自体はめっちゃ面白かったし、Railsへの興味がより一層増しました。さすがにここまで有名になるWAFは違いますね!

1章とは打って変わって、早く3章へ進みたい!そんな気分になれる章でした。

次回、3章へ続く!