rails個人的アウトプット インスタンス変数 scaffold db:migrateについて

現在railsの学習を、こちらの教材を使って進めています。

Rails Textbook

進めていてアレッ?となった部分をSinatraと比べたりして自分なりにアウトプット指定効果と思います。

 

・@から始まるアレは何?

f:id:takara1356:20181212010932p:plain

インスタンス変数。コレに入れた値をコントローラからビューへと渡してくれます。

上の画像の@timeですね。

 

f:id:takara1356:20181212011500p:plain
Sinatraでいうと、画像の@res @starと同じ働きをします。

Sinatraだとルーティング内に書いてたものを、railsだとコントローラーに書き込み、それをビューで読み込むっぽいです。

・scaffoldてなんだ

rails初学者向けの教材で序盤に出くわすやつ。「すかふぉるど」と読むらしい。

rails g scaffold book title:string memo:text

このようなコマンドだけで、DBのテーブル構築とかしてくれる...強すぎ...

rails g scaffold モデル名 カラム名:データ型 カラム名:データ型

こんな風に使えます。

Sinatraの時はsequelでひとつひとつ手入力でテーブルを作っていたのですが、コレだと連動するモデルやらコントローラーもまとめて一緒に作ってくれて感動!

ちなみに宣言したモデル名(上のコマンドだとbook)を複数形にして自動でテーブルを作ってくれるぞ!かしこい!

マイグレーションてなんだ

SQLを書くことなく、rubyの分だけでDBのテーブル作成してくれる機能。

ActiveRecordRubyの文をSQLに翻訳してくれてます。

db:migrateを実行することでDBも更新される。

 

プログラミング学習、今のとこの一番の敵はスマブラです。プロコン買っちゃった。