niki12260714の日記

フリーランスのITエンジニアの呟き。

Ruby学習5日目:Model作成とSQL接続

昨日はViewとControllerの流れをやったんで、今日はModelまで一気に通関。
参考書にあるようにmodelを生成。

f:id:niki12260714:20170905202818j:plain

コマンド打ち間違えているのは気にしない!
O/Rマッパーってよくわかってなかったんですけど、こうやってmodel生成から一つずつ紐解いていくと、プログラムで扱うデータ構造とSQLのデータ構造の違いを意識しないとはどういうことなのか分かってきました。
自分がむかーし開発していた時は、SQLに接続するクラスがあって、その中で取ってきたデータをループで回して配列とかに突っ込んで、ってやっていたんですけど、このやり方だとSQLのテーブルをごそっとプログラムで扱えるんで楽ですね。
そんなわけで、今回はbookという名前のテーブル作って、その中に入っているデータを取り出してテーブルに表示、というサンプルを作成。

f:id:niki12260714:20170905203238j:plain

参考書にあったテストデータをお借りしています。
今はmodelはデータを受け渡すだけですけど、実際にはここでORDER BYしたり、別テーブルと結び付けて必要なデータだけ取ったりするのかな。

そしてありがたいことに、どういうSQL実行したかがコンソールに出てくれます。

f:id:niki12260714:20170905203444j:plain

デバッグに便利そう。
あとは教科書を読んで、Railsの設定ファイルについて軽くお勉強。
そしてテキストエディタで書くのがだるいので、参考書がお勧めするVisual Studio Codeを導入しようかと思います。

さて、ここまでで基本的な画面出力とDB接続ができました。
これからは参考書を斜め読みして、どんな機能があるかを把握しつつ、自分のアプリを作っていこうと思います。
実践に勝る学習はないっていうし!
(それにこのまま参考書のサンプルを写していてもあんまり覚えないと思うし、なにより一か月で終わらん……)
というわけで、また明日。