rails個人的アウトプット インスタンス変数 scaffold db:migrateについて
現在railsの学習を、こちらの教材を使って進めています。
進めていてアレッ?となった部分をSinatraと比べたりして自分なりにアウトプット指定効果と思います。
・@から始まるアレは何?
インスタンス変数。コレに入れた値をコントローラからビューへと渡してくれます。
上の画像の@timeですね。
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のテーブル作成してくれる機能。
ActiveRecordがRubyの文をSQLに翻訳してくれてます。
db:migrateを実行することでDBも更新される。
プログラミング学習、今のとこの一番の敵はスマブラです。プロコン買っちゃった。