americandog1993の日記

プログラマー歴半年のメモ

Rails超初心者のいろいろ

Railsチュートリアル7〜8章くらいで完全についていけなくなってしまったので、中断した。
諦めてはいない。戦略的撤退。

特にActiveRecordの不理解が全体の俯瞰を妨げている感があったのでドットインストールActiveRecord入門をざっと視聴。
だいぶマシになった気がする。
ActiveRecordとは要はSQLを使わずにRuby文法でDBを操作することを可能にする便利ツール的なもののようだ。

Bootstrap入門も半分くらい視聴。
とりあえずこれは暗記したらいけるっぽい。
気に入らない部分をちょこちょこCSSで編集すればいい感じだろう。

進むことを優先しすぎた感がある。
一度振り返る必要がある。
特に基本的と思われる部分を自分なりにまとめてみる。

よく使うRailsコマンド

$ rails new 名前

超基本。アプリの骨格をザッと作る。

$ rails generate model 名前 table列名:データ型

modelはDBをごにょごにょする何か。
単数形でgenerateする。
列名は複数書いていける。
自動的に一意のid列も生成される。

$ rails generate controller 名前

controllerはviewをわちゃわちゃする何か。
複数形でgenerateする。
名前は複数書いていける。
modelもcontrollerも頭を大文字にしてgenerateする。

$ rake db:migrate

今これを書いててはたと手が止まった。マイグレーションについて何も理解していなかったことに気づいた。
何をしているのか。ググっても釈然としない。要はDBを作るコマンド・・・?
modelの段階で列名は書いてるし、そこでDBできてるんじゃないのか?と思っていたが、どうも違うっぽい。
ここは本当に自信がないのだけれども、ググって出てきたサイト(本記事末尾に掲載)をサーッと眺めた限りでは、generate modelの段階では、マイグレーションファイルというDBのレシピ的なものが作られるだけで、rake db:migrateすることによってレシピに基づいたDBの実態が生成されるようだ。
もし違ったらご指摘ください。

$ rails console

Rubyを書いて簡易テストができる。
実験場に入る的な感じ。

$ rake routes

link_toの後になんて書いたらいいんだっけというときに叩く。

よく触るファイル

controllers/concerns/xxxx_controller.rb

def xxxx
end

xxxxはビュー名と合わせる。

views/layouts/application.html.erb

ビューファイルの共通部を書く。
ここに書くと他にも反映される。
DRY精神の片鱗を見ることができるすごいやつ。

views/xxxx/xxxx.html.erb

共通部以外を記述していく。
generate controllerの際にコントローラと一緒に作ることもできる。

config/routes.rb

root 'コントローラ名(xxxx_controller.rbのxxxx部)#ビュー名(xxxx.html.erbのxxxx部)'
get 'コントローラ名#ビュー名'
resouces :モデル名

最低限この辺抑えとけばなんとかなりそう。なってくれ。

参考:
www.transnet.ne.jp
ドットインストール Rails入門
http://dotinstall.com/lessons/basic_rails_v2/24912