Home > アーカイブ > 2014-04

2014-04

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

Home > アーカイブ > 2014-04

Fedora 20
アーカイブ

Return to page top