Home > Ruby on Rails

Ruby on Rails Archive

Rails4.0の入門書として新しくなったポイント – Ruby on Rails 4 アプリケーションプログラミング



Ruby_on_Rails4_Application_Programing

日本語で読める Rails 4.0 の 入門書( Ruby on Rails 4 アプリケーションプログラミング ) が出ました。
雑誌以外の書籍としては一番乗りですね。

ぱらぱらとページをめくり、前書( Rails3版 )から新しくなったポイントを探してみると、Rails4.0対応については
ビュー、モデル、コントローラー、それぞれの新しい追加メソッド
Scaffolding で 生成される JSON形式 の テンプレート解説
コントローラー側 の 生成コード の 変更点
ルート定義の再利用メソッドなど、多くの解説が加わりました。
※ 主なRails 4.0 対応で追加された解説内容は下にまとめてあります

さらに Rails4.0 以外の解説もいろいろと加筆されています。

アプリケーション固有の設定情報をYAMLファイルで管理する場合、よくsettingslogic あたりが使われると思いますが
同等の機能を config/initializers での設定で手軽に実現する方法が解説されていたり
クライアントサイド では CoffeeScript と Sass( SCSS ) の 文法解説が35ページ分も加わりました。
※ もろもろ変更点が多いので、下の方に変更された部分をマークした目次を引用してあります

Rails 4.0 対応で追加された主な解説

1. ビュー関連
 新規メソッド
  (1) collection_radio_buttons と collection_check_boxes
   collection_select と同様にデータベースの情報からラジオボタンとチェックボックスを生成するヘルパーです。
  (2) cache_if と cache_unless
   指定ブロックのフラグメント・キャッシュを条件式で制御するメソッドです。
   使いどころは、何かの予定日とかWebコンテンツとして変更する可能性がある情報に使用。

2. モデル関連
 新規メソッド
  (1) find_by … find_by_xxxxx に代わって任意のキー列で検索するメソッドです。
  (2) not … クエリメソッドの検索条件を否定。
  (3) where! … クエリの条件式を破壊的に追加。
  (4) unscope … クエリメソッドによる条件式を除去。
  (5) none … 空の結果セットを取得。
 機能追加
  (6) transaction メソッドの新機能としてトランザクション分離レベルが指定可能になりました。
  (7) ActiveModel::Modelモジュール
   attr_accessorメソッドを使うことで、データベースに関連づいていない項目をモデルに実装できるようになりました。

3. コントローラ関連
 新規メソッド
  (1) add_flash_types … notice や alert 以外に独自の フラッシュメッセージ・タイプ を定義可能になりました。
 機能追加
  (2) マスアサインメント脆弱性への新しい対策方法
   フォーム入力パラメーターを検査する仕組みが Rails3 の attr_protected や attr_accesible から StrongParameters へ変更となり、モデル側ではなくコントローラー側で設定するように変わりました。
  (3) Rubyテンプレート
   Rubyテンプレートは ERB のような埋込み型ではなく直接、Rubyスクリプトで記述するテンプレートで
   使用例としてモデル・データをCSV形式で出力する方法が解説されています。
  (4) concernsフォルダ
   複数のコントローラーやモデルで共通するロジックをまとめて管理するディレクトリです。
   共通ロジックをまとめたモジュールの格納先が規約として明確になりました。

4. ルーティング( ルート定義の再利用 )
 リソース間で重複しているルート定義に名前をつけて部品化する方法の解説です。
 Rails4.0 で新しく追加された concernメソッド で共通する定義を1つにまとめ、concernsオプション で再利用します。

5. テスト関連
 前書と同じ Test::Unit でのテスト手順解説ですが、Rails4.0 で testディレクトリ の構成変更と rake test コマンド の
 オプションが変更されたため、解説内容が新しくなっています。

6. クライアントサイドの新機能 ( Turbolinks )
 ホームページのページ遷移を高速化する新機能の解説です。
 Rails4.0標準で設定が有効になっている機能なので、意識せずに使い始められるのですが
 その反面、仕組みを理解しておかないとハマるポイントでもあり、その回避方法が解説されています。

目次 ( Ruby on Rails 4 アプリケーションプログラミング )

著者サイトに 詳細目次 がありましたので、内容が新しくなった部分 は 目次行 の 背景色 を変えて引用してあります。

続きを読む

  • コメント (Close): 0
  • トラックバック (Close): 0

書評 Ruby on Rails 3 ポケットリファレンス



Ruby on Rails 3 ポケットリファレンス


Ruby on Rails 3.1 に対応した ポケットリファレンス を送って頂きました。
前回、送って頂いた Ruby on Rails 3アプリケーションプログラミング が Rails3.0ベース なので、Rails3.1 で追加になった アセットパイプラインCoffeeScriptSass( CoffeeScriptのCSS版 ) といった新しい仕組みを試してます。

環境は さくらのVPS で Rails3.1+Passenger を設定し Rails 3アプリケーションプログラミング のサンプル( 3.0ベース )をもとに使っているのですが、さすがにそのままでは動きません(汗)。 エラーが出るたびにポケットリファレンスを見て修正、次へ進むの繰り返しで進行中。 コンソールでよく使う、gem や rails、rake、bundle といったコマンドのオプション解説もコンパクトにまとまっているので、Rails3.1の情報をぱぱっと手早く探すのに便利です。

Rails3レシピブックと比べると rvmCapistranoRSpec の解説はありませんが、Deviseプラグイン を使ったユーザー登録とログイン認証やユーザー管理ページなど会員制サイトを作るときに使える設定方法Delayed::Jobプラグイン で非同期のバッチ処理を組む方法も解説されている点がポイント高し。 特に、Deviseプラグインがカバーしている機能は自分で実装&テストすると何日も
かかるので、持ち歩きサイズのリファレンス本に、この情報があるのはとても助かります。

書評を書いた Ruby on Rails 3 ポケットリファレンス という本はこちらです。
  • コメント (Close): 0
  • トラックバック (Close): 0

Rails3 開発手順まとめ本がやってきた。


昨年、WEB+DB PRESS( Vol.58 ) で Rails3特集 が組まれた頃は『 実務ベースはまだ Rails2 で 』といった話も聞いたが、リリースから半年以上たってそろそろ Rails3 を導入したいと考えていた。 そんなおり Twitter で Rails3本 の レビューアー募集 があり申し込んでみたところ、
Ruby on Rails 3 アプリケーションプログラミング 』という発売前の本が到着!
日本語で今すぐ Rails3 の開発手順をざざっと読めるのはとても助かります。

Ruby on Rails 3 アプリケーションプログラミング

Ruby on Rails 3 アプリケーションプログラミング

全体の構成は Rails3 の開発環境を準備する手順から、MVC ごとの新しい開発手順や開発したプログラムのテスト方法がコンパクトに解説されていて、一言でいうと 『 図解 Ruby on Rails Guides 』 という感じで、内容も Rails3 の リリースノート にある 5つのハイライト のうち4つをカバーしている。

  • RESTfulなインターフェイスをともなった新しいルーティング
  • 手軽になったAction Mailerでのmultipartメッセージ送信方法
  • Active Recordのクエリでメソッドチェーンの利用方法と遅延ロード
  • 控えめなJavaScript と jQueryドライバー( rails.js )の利用方法

 ※ 5つめのハイライトはプロジェクトごとにgem依存関係を管理する Bundler
ですが今回は解説なし

読み始めて1週間ほどですが図解が豊富で 掲載コードのダウンロードサービス もあり、Webで情報を捜し回るよりも この1冊 で楽に Rails3 を使い始められそうです。

書評を書いた Ruby on Rails 3 アプリケーションプログラミング という本はこちらです。

以下、詳しい目次を掲載。

続きを読む

  • コメント (Close): 0
  • トラックバック (Close): 0

ホーム > Ruby on Rails

Fedora 20
アーカイブ

Return to page top