技術書レビュー 山田祥寛「Ruby on Rails 4 アプリケーションプログラミング」

前回の記事でも最後にちょろっと書いたんですが、最近Ruby on Rails 4習得に向けて学習中でして、それに関しての記事を書きたいと思いつつ、でも確固としたネタはないなぁと思って逡巡していたところでして。
なんかたいして新しい情報もないような記事更新しても何にもならないしなーとか思っていたんですけど、どうせそもそも固定読者なんていないと思われるブログですので、自分のアウトプット用として書いてしまえばいいんだよ!と自分を納得させることにして、今回は学習用に読んでみた技術書のレビューという体裁で書いてみたいと思います。

ちなみにここまでの学習の道のり

  1. ドットインストールの「Ruby入門」「Ruby on Rails 4入門」を見る。(って今これ書いてて気づいたんですが、「ActiveRecord入門」「Heroku入門」あたりも見ておいた方が良さそうですね。これから見ます。)
  2. 山田祥寛「Ruby on Rails 4 アプリケーションプログラミング」(技術評論社)を通読。
  3. 1で作ったタスク管理アプリを元に、2を参照しながらユーザーログイン機能を実装してみる。
    →一応それなりの形になったものの結構難しい。本当にこれで合っているのか不安。
  4. Michael Hartl「Ruby on Rails チュートリアル」をやってみることにする。現在11章まで、あと1章で終了!

と、こんな感じで進んできました。 というわけで今回の記事では2の山田祥寛「Ruby on Rails 4 アプリケーションプログラミング」(技術評論社)を読んでみての感想など書きたいと思います。

「Ruby on Rails 4 アプリケーションプログラミング」感想

まずいきなり結論から書くと、これからRailsを使って何か作りたい、仕事にしてみたいと思っている人ならこの本は持っておいて損はないと思います。Railsの機能についてかなり細かく記されているので、こういう時にどうすればいいんだっけ?このメソッドってどういう意味なんだっけ?となった時に参照するリファレンス本としてはかなり使えると思います。なので、がっつりRailsやりたい!という人には長くお世話になる本なのではないかと思います(と、曖昧な言い方になっている理由は、自分がまだそこまでがっつりRailsに取り組む前なので、断定はできない的なことなのですが)。

入門者にとっての活用法

一方、入門書としてはどうなのか?という観点で言うと、この本は一冊を通して具体的に何かを作ってみよう!という内容ではありません。一応、書籍管理システムというサンプルプログラムはあるのですが、あくまで機能説明用の簡単なもののため、実際のウェブサービスの仕様にはだいぶ足りてないものになっています。なので、個々の機能がわかっても、実際にそれを使って何かを作ろうとした時に、どこからどうやって作っていけばいいんだろう?となってしまう人もいるかと思います(というか僕がそうでした)。

ただ、1章で環境構築、2章で基本機能、3章でScafolding機能について書かれており、ここは入門者にとっては役立つ部分だと思います。ドットインストールではあっという間に通り過ぎていまいちわからなかった箇所、Railsチュートリアルで詳しく触れられていなかったような箇所も、ここで丁寧に解説してくれています(例えば.erbファイルでのコメントの書き方など、上記二つではほとんど触れられていないですが、実際の開発では必ず疑問が生じる部分だと思います。もちろんググればすぐにわかることなのですが、書籍内でしっかりまとめてくれているのはありがたいです。)。

個人的には、入門者はまずこの本の3章までをやってみて、その後Railsチュートリアルを一度やってみて実際の開発の流れをつかんでみてから、書籍に戻って4章以降をざっと読んで理解を深める、という流れがいいのではないかと思います。自分はちゃんとRailsを身につける!途中で挫折しない!という意志の強い方なら、入門にも使えて、その後のリファレンス用にも使えて、と非常に有用な本なのではないでしょうか。そうじゃない方は…まぁ買わずに図書館とか使えばいいんじゃないですかね。

9-5-5「Ajax通信でJSONデータを利用する」の注意点

さて、この本のサンプルプログラムで一箇所躓いた点がありまして、一応それについての解決策もついでに書いておきたいと思います。同じように悩んだ人が答えを探しに見に来るかもしれないので。

この部分、サポートサイトからダウンロードしたサンプルを起動して実行してみるとちゃんと動くので、一見問題ないように見えますが、このサンプルはひとつ前の9.5.4「Ajax対応のフォームを生成する」の部分を実行しているだけです。試しにresult.js.erbをリネームし、result.jsonの方を読みに行くようにしてから実行してみましょう。何も表示されないと思います。

これ、書籍に載ってるコードにもサンプルプログラムの方にも全く説明がないですが、ajax.jsで指定している$(‘#ajax_form’)がどこにもないのが原因です。というわけでsearch.html.erbの一行目に以下のようにしてidを設定したら動くようになります。

<%= form_tag({ action: :result }, remote: true, id: 'ajax_form') do %>

お困りの方の参考になれば。

まとめ

というわけで、「Ruby on Rails 4 アプリケーションプログラミング」持っておいた方がいいですよーってことでお決まりのアフィリエイトリンクを貼って終わりにしようかと思います。

もうすぐRailsチュートリアルの方も終わるので、次はそっちについて書こうと思います。あと、実はRuby自体もこれまで全く触ったことがなかったので、Rubyのリファレンス本も何か一冊買っておこうかなと思ってますので、それもざっと読んだらレビュー的なもの書ければいいなと思います。どれがいいかな? ネット上の評判を見た感じだと「たのしいRuby」が良さそうかなと思っているところですが。

この記事を見に来た人はこれからRailsを始めてみようかなっていう人が多いかと思いますので、皆様一緒にがんばりましょう〜!ってことで良ければツイッターの方もフォローしてね!

それでは!

Ruby on Rails 4 アプリケーションプログラミング
山田 祥寛
技術評論社
売り上げランキング: 8,348

この投稿へのコメント

コメントはありません。

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

CAPTCHA


この投稿へのトラックバック

トラックバックはありません。

トラックバック URL