女エンジニアの私生活

初心者女エンジニアの私生活。たまに技術記事も。

『Ruby on Rails 5 アプリケーションプログラミング』でRails学習 その5(モデルのつづき)

みなさん、体重定期的に測ってますか?

私は測ってません!!(どや)

でも自分の体型にはわりと敏感な気がします。

お風呂上がりに鏡で肩周りの肉付きを見たり

洋服を着た時に着心地がほんの少しだけ違ったり、

ほんの些細な違和感程度で「ん?」と思えるので調整可能です。

まあ、それでも食べ続けてると、不可能です(当たり前)。

体重は、年1回の健康診断と、

本当にやばい気がするときだけタニタの体重計で測ってます。

ちなみに今、この違和感を感じてます。

毎日ケーキ食べてたからでしょうか。間違いないですね。

 

さて、では本題に入りましょう。

前回モデルの途中で終わったので、その続きからです!

前回の記事はコチラ↓↓

 

moqmog.hatenablog.com

 

このシリーズを初めから読みたい方はこちら↓↓

 

moqmog.hatenablog.com

 

 

前回の記事では、

書籍情報を表示するサンプル」を作るのがゴール。

でもbooksテーブルのテストデータが2件しか入ってなくて「キーーーッ!!」

ってとこまでお伝えしました。(何か違う)

 

2.4.7 データ取得の基本(P53~)

 

 

ほうほう。書籍によると、これが終わった際には

booksテーブルに格納されているデータがキレイに

画面に表示できるにようになるみたいですね!

早速やってみましょう。

 

①listアクションを追加

 

「railsbook\app\controllers\hello_controller.rb」を開きます。

 

f:id:moqmog:20171111163259j:plain

 

こんな感じで編集します。

Bookクラスのallメソッドを呼び出すことで、

booksテーブルの情報すべてを引っ張り出すイメージですね。

 

②テンプレートファイルを作成する

 

hello#listに対応する「list.html.erb」を作成します。

場所は「railsbook\app\views\hello」の下です。

 

f:id:moqmog:20171111163734j:plain

 

eachメソッドでbooksテーブルのすべてのレコードを

順番に取り出していく仕組みですね。

「.isbn」などで、それぞれの列の値を個別にとっています。

 

③ルート定義を追加する

 

最後にルート定義を「railbook\config\routes.rb」に追加してあげます。

 

f:id:moqmog:20171111164219j:plain

 

 

以上の3ステップで出来上がりなはずです!

http://localhost:3000/hello/list」にアクセスしてみまーす!

 

 

どん!!!

 

エラーーーー!!!!!

 

 

なんで?と思ったら、新規で作成したファイルのエンコード

SJISになっていました!

これをUTF-8に変えてみると、、

 

f:id:moqmog:20171111164645j:plain

 

でーきたー(`・ω・´)

 

ただ、味気ない。

ISBNコードですらMyStringってどうなってんのサンプルコードちゃん。

てことで、ちょいといじってみました。

いじったのはここ。

 

f:id:moqmog:20171111164843j:plain

 

railbook\test\fixtures\books.yml」ファイル!

ここに今現在booksテーブルに入っているデータがあります。

 

こんな感じにちょちょっと、、

 

f:id:moqmog:20171111165136j:plain

 

念のためSQLiteクライアントでも変更を確認、、

 

f:id:moqmog:20171111165048j:plain

 

大丈夫そうですね!

(画像では1冊分しか変えてませんが、もう1冊も変えてみました)

 

では、再度アクセス!

 

f:id:moqmog:20171111165338j:plain

 

じゃーーん!出来ました!!!

これにてモデルの基本は終了です。