ポケットリファレンスシリーズRuby on Rails 3ポケットリファレンス
2012年1月26日紙版発売
2013年1月24日電子版発売
山田祥寛 著
四六判/528ページ
定価3,058円(本体2,780円+税10%)
ISBN 978-4-7741-4980-6
ただいま弊社在庫はございません。
書籍の概要
この本の概要
13年のロングセラーシリーズ・ポケットリファレンスにWebアプリケーションフレームワークの新定番であるRuby on Rails 3が新登場。逆引き形式で目的の情報をすぐ探せて,サンプルコードを見ながら具体的な実装のイメージがつかめます。Rails3.1以降に対応,標準ライブラリとなったjQueryやCoffeeScriptの話題もフォローしています。開きやすい特殊製本とめくりやすい用紙を採用して検索性も抜群。定番解説書である『Ruby on Rails 3 アプリケーションプログラミング』の著者・山田祥寛氏による,現場で役立つ信頼の1冊です。
こんな方におすすめ
- Ruby on Rails 3でできることを目的から知りたい方
- Ruby on Rails 3でできることをてっとり早く俯瞰したい方
著者の一言
Ruby on Rails(以降,Rails)1.0がリリースされたのが2005年12月のことですから,まだまだ誕生したばかりと思っていたRailsも,既に6年以上の年輪を刻んでいることになります。変遷の激しいこの世界から見れば,もう十分に枯れたフレームワークといっても良いはずなのですが,Railsにはそうした雰囲気を感じさせないところがあります。それもRailsが未だもって意欲的に変革を求め,他のフレームワークに対して強い影響を与え続けているからでしょう。
2007年12月にリリースされたRails 2は,Rails 1に対してさまざまな機能を建て増していったバージョンでした。RESTfulインターフェイス,国際化機能,Rack対応などなど,現在のバージョンの基礎ともなる機能が,このバージョンで追加されています。
2010年8月にリリースされたRails 3.0では,それまでの一枚岩な構造を捨てて,Modularity(モジュール志向)を強く打ち出しています。これによって,Rails 3では目的に合ったコンポーネントの選択が簡単に行えるようになりました。また,ルーティングやActive Recordのクエリ記法が再設計され,より自然なコードの記述が可能になっています。Rails 3.0はRails 2の路線を引き継ぎつつも,新たな要素を意欲的に盛り込んだ躍進のバージョンであるといえます。そして,最新のRails 3.1ではCoffeeScript/SCSSの標準搭載によって,クライアントサイド開発に対する新たなアプローチを提案しています。
Railsは,まだまだ熱く,パラダイムを語り続けるフレームワークなのです。
本書は,このように進化を続けるRails 3について,よく利用するであろう機能を厳選して,逆引きリファレンスの形式で紹介する書籍です。執筆にあたっては,あまたあるRailsの潤沢な機能に,できるだけ目的からたどりつきやすいように心がけました。Railsを利用したアプリケーション開発にあたって,本書が座右の一冊となれば幸いです。
目次
第1章 Ruby on Railsの基本
- Ruby on Railsとは?
- Railsを利用するための環境設定
基本コマンド
- Railsアプリケーションを新規作成する ― rails newコマンド
- 必要なgemファイルを管理する ― gemメソッド
- 必要なgemをインストールする ― bundle installコマンド
- HTTPサーバを起動する ― rails serverコマンド
- モデル/テンプレート/コントローラをまとめて作成する ― rails generate scaffoldコマンド
- 自動生成されたファイルを削除する ― rails destroyコマンド
- Rails環境で動作するバッチファイルを作成する ― rails runnerコマンド
アプリケーション設定
- アプリケーションの設定情報を定義する ― configメソッド
- アプリケーション変数を定義する ― configメソッド
その他のコマンド
- Railsで利用できるrakeコマンドを確認する ― rake -Tコマンド
- 利用しているライブラリのバージョンを確認する ― rake aboutコマンド
- ドキュメンテーションコメントで仕様書を作成する ― rake doc:xxxxxコマンド
- 現在使用しているRailsのドキュメントを作成する ― rake doc:xxxxxコマンド
- 開発中の懸案事項をメモする ― rake notesコマンド
- Railsアプリケーションをバージョンアップする ― rake rails:updateコマンド
- 自動生成されるコードをカスタマイズする ― rake rails:templates:copyコマンド
- オリジナルのRakeタスクを作成する ― taskメソッド
第2章 コントローラ開発
- 概要
コントローラの基本
- コントローラクラスを作成する ― rails generate controllerコマンド
- アクションメソッドを記述する ― アクションメソッド
- アクションメソッドを明示的に隠蔽する ― hide_actionメソッド
- コントローラ/アクション名を取得する ― controller_xxxxx/action_nameメソッド
リクエスト情報
- ポストデータ/クエリ情報/ルートパラメータを取得する ― paramsメソッド
- ファイルをアップロードする ― paramsメソッド
- リクエストヘッダ/サーバ環境変数を取得する ― headersメソッド
レスポンス情報
- テンプレートファイルを呼び出す ― renderメソッド
- 文字列を出力する ― renderメソッド(:text)
- アクションにインラインのテンプレートを記述する ― renderメソッド(:inline)
- テンプレートに適用するレイアウトを変更する ― render(:layout)/layoutメソッド
- XML形式のレスポンスを生成する ― renderメソッド(:xml)
- JSON形式のレスポンスを生成する ― render(:json)メソッド
- XML形式のデータをJSON形式に変換する ― from_xmlメソッド
- 空のコンテンツを出力する(1) ― renderメソッド(:nothing/:status)
- 空のコンテンツを出力する(2) ― headメソッド
- テンプレートでの処理結果を文字列として取得する ― render_to_stringメソッド
- 他のページにリダイレクトする ― redirect_toメソッド
- 指定されたファイルを出力する ― send_fileメソッド
- クライアントにバイナリデータを送信する ― send_dataメソッド
- 拡張子に応じて応答フォーマットを切り替える ― respond_toメソッド
- 拡張子に応じて応答フォーマットを切り替える(簡易版) ― respond_to/respond_withメソッド
- respond_toメソッドで利用できる拡張子を定義する ― registerメソッド
- 応答ヘッダを取得/設定する ― headersメソッド
- Cache-Controlヘッダを操作する ― expires_in/expires_nowメソッド
- BuilderテンプレートでXML文書を生成する ― xmlオブジェクト
- Atomフィードを生成する ― atom_feedメソッド
状態管理
- クッキーを取得/設定する ― cookiesメソッド
- クッキーを削除する ― deleteメソッド
- 永続化クッキー/署名付きクッキーを発行する ― permanent/signedメソッド
- セッション情報を読み書きする ― sessionメソッド
- セッションを破棄する ― reset_session/sessionメソッド
- セッションの設定を変更する ― session_store/sessionパラメータ
- セッション格納のデータベースを準備する ― rake db:sessions:create/rake db:sessions:clearコマンド
- リダイレクト前後で一時的にデータを維持する(1) ― redirect_toメソッド(:alert/:notice/:flash)
- リダイレクト前後で一時的にデータを維持する(2) ― flashメソッド
- 現在のアクションでのみ有効なフラッシュを定義する ― nowメソッド
- フラッシュを次のリクエストに持ち越す ― keepメソッド
- フラッシュを破棄する ― discardメソッド
ログ管理
- 標準ログを出力する ― unknown/fatal/error/warn/info/debugメソッド
- ログの出力を重要度に応じて絞り込む ― log_levelパラメータ
- ログファイルをクリアする ― rake log:clearコマンド
- 特定のリクエスト情報をログから除外する ― filter_parametersパラメータ
フィルタ
- アクションの直前/直後に処理を実行する ― before_filter/after_filterメソッド
- アクションの前後で処理を実行する ― around_filterメソッド
- フィルタを簡単に定義する ― before_filter/around_filter/after_filterメソッド
- 複数のコントローラでフィルタを共有する ― before/after/filterメソッド
- 親コントローラから継承したフィルタを除外する ― skip_filter/skip_xxxxx_filterメソッド
- フィルタの実行順序を変更する ― prepend_xxxxx_filterメソッド
- 基本認証を実装する ― authenticate_or_request_with_http_basicメソッド
- 基本認証を簡単に実装する ― http_basic_authenticate_withメソッド
- ダイジェスト認証を実装する ― authenticate_or_request_with_http_digestメソッド
Applicationコントローラ
- すべてのコントローラ共通の処理を定義する ― ApplicationControllerクラス
- クロスサイトリクエストフォージェリ対策を行う ― protect_from_forgery/csrf_meta_tagsメソッド
- アプリケーション共通の例外処理をまとめる ― rescue_fromメソッド
- コントローラクラスでビューヘルパーを宣言する ― helper_methodメソッド
- コントローラに対応するヘルパーモジュールだけを読み込む ― clear_helpersメソッド
- url_forメソッドに渡すデフォルトパラメータを設定する ― default_url_optionsメソッド
- SSL通信を強制する ― force_sslメソッド
第3章 モデル開発
- 概要
モデルの基本
- データベースへの接続設定を定義する ― database.yml
- データベースを作成/削除する ― rake db:create/rake db:create:all/rake db:drop/rake db:drop:allコマンド
- データベースクライアントを起動する ― rails dbconsoleコマンド
- モデルクラスを自動生成する ― rails generate modelコマンド
- モデルの動作をコンソールで対話的に確認する ― rails consoleコマンド
マイグレーション
- マイグレーションとは?
- マイグレーションファイルでデータベースを操作する ― change/up/downメソッド
- マイグレーションファイルを実行する ― rake db:migrateコマンド
- マイグレーションの状態/バージョンを確認する ― rake db:migrate:status/rake db:versionコマンド
- スキーマファイルでデータベースを作成する ― rake db:schema:load/rake db:resetコマンド
- 現在のデータベースからスキーマファイルを生成する ― rake db:xxxxx:dumpコマンド
- データベースに初期データを投入する ― rake db:seed/rake db:setupコマンド
- データベースにテストデータを投入する ― rake db:fixtures:loadコマンド
- マイグレーションファイルを単体で作成する ― rails generate migrationコマンド
- テーブルを作成する ― create_tableメソッド
- テーブルに特殊な列を追加する ― timestamps/referencesメソッド
- 既存テーブルを破棄する ― drop_tableメソッド
- マイグレーションファイルで任意のSQL命令を実行する ― executeメソッド
- 既存テーブルに列やインデックスを追加する ― add_xxxxxメソッド
- 既存の列定義/インデックスを削除する ― remove_xxxxxメソッド
- 既存の列定義を変更する ― change_xxxxxメソッド
- 既存列/インデックス/テーブルの名前を変更する ― rename_xxxxxメソッド
- 列/インデックスが存在するかを判定する ― xxxxx_exists?メソッド
- テーブル定義を変更する ― change_tableメソッド
データの取得
- テーブルからすべてのレコードを取得する ― allメソッド
- 主キー値でデータを検索する ― findメソッド
- 任意の列でデータを検索する ― find_all_by_xxxxx/find_by_xxxxxメソッド
- テーブルの先頭/末尾のレコードを取得する ― first/lastメソッド
データの取得(クエリメソッド)
- クエリメソッドとは?
- 検索条件をハッシュで設定する ― whereメソッド
- 検索条件を文字列で設定する ― whereメソッド
- データを昇順/降順に並べ替える ― order/reorderメソッド
- m~n件のレコードだけを取得する ― limit/offsetメソッド
- 取得列を指定する ― selectメソッド
- 特定のキーでデータを集計する ― groupメソッド
- 集計結果をもとにデータを絞り込む ― havingメソッド
- モデルに適用した条件式を除外する ― exceptメソッド
その他の取得系メソッド
- 特定条件に合致するレコードの件数や平均値,合計値などを求める ― 集計メソッド
- モデルオブジェクトをリロードする ― reloadメソッド
- SQL命令を直接指定する ― find_by_sqlメソッド
- データが1件でも存在するかを確認する ― exists?メソッド
- レコードのフィールド値を取得する ― attributesメソッド
- テーブルのすべての列名を取得する ― attribute_namesメソッド
- よく利用する条件式/ソート式を準備する ― scopeメソッド
- 名前付きスコープをパラメータ化する ― scopeメソッド
- デフォルトのスコープを定義する ― default_scopeメソッド
- モデルに課せられた条件式やソート式を無効化する ― unscopedメソッド
データの登録/更新/削除
- モデルオブジェクトを新規に作成する ― newメソッド
- モデルオブジェクトをデータベースに保存する ― save/save!メソッド
- モデルオブジェクトの作成から保存までを一気に行う ― create/create!メソッド
- 既存のモデルオブジェクトを変更/保存する ― update_attributes/update_attributes!メソッド
- 特定のフィールドを更新する ― update_attributeメソッド
- 既存のモデルオブジェクトを変更する ― attributes=/assign_attributesメソッド
- 複数のモデルオブジェクトをまとめて更新する ― updateメソッド
- 複数のモデルオブジェクトを効率的に更新する ― update_allメソッド
- 登録/更新時に一部のフィールドを保護する ― attr_protected/attr_accessibleメソッド
- 既存のレコードを削除する ― destroy/deleteメソッド
- 既存のレコードをまとめて削除する ― destroy_all/delete_allメソッド
- レコードの状態をチェックする ― new_record?/persisted?/changed?/destroyed?メソッド
- モデルオブジェクトへの変更を監視する ― changed/changed_attributes/changes/previous_changesメソッド
- 指定列の値をインクリメント/デクリメントする ― increment/decrementメソッド
- 指定列のtrue/false値を反転させる ― toggleメソッド
- レコードのupdated_at/on列を現在時刻で更新する ― touchメソッド
- トランザクション処理を実装する ― transactionメソッド
- オプティミスティック同時実行制御を実装する ― StaleObjectErrorクラス
- データベースの行ロック機能を利用する ― lock/lock!メソッド
- データベースに対してSQL命令を直接発行する ― connection/executeメソッド
- テーブルに存在しないプロパティをデータベースに保存する ― セッターメソッド
アソシエーション
- アソシエーションとは?
- 参照元テーブルから被参照テーブルにアクセスする ― belongs_toメソッド
- 1:nの関連を宣言する ― has_manyメソッド
- 1:1の関連を宣言する ― has_oneメソッド
- m:nの関連を宣言する(中間テーブル) ― has_and_belongs_to_manyメソッド
- より複雑なm:nの関連を宣言する ― has_manyメソッド(:through)
- アソシエーションの挙動をカスタマイズする ― belongs_to/has_one/has_many/has_and_belongs_to_manyメソッド
- 関連モデルの件数を親モデル側でキャッシュする ― belongs_toメソッド(:counter_cache)
- 1つのモデルを複数の親モデルに関連付ける(ポリモーフィック関連) ― belongs_toメソッド(:polymorphic)/has_manyメソッド(:as)
- 関連するモデルを取得する ― association/collectionメソッド
- 関連するモデルを割り当てる ― association=/collection=/collection_singular_ids=/collection<<メソッド
- 関連するモデルを新規に作成する ― build_association/create_association/build/createメソッド
- 関連するモデルを削除する ― delete/clearメソッド
- 関連するモデルのid値を取得する ― collection_singular_idsメソッド
- 関連するモデルの数を取得する ― sizeメソッド
- 関連するモデルが存在するかをチェックする ― empty?/exists?メソッド
- 関連するモデルと結合する ― joinsメソッド
- 関連するモデルをまとめて読み込む ― includesメソッド
検証機能
- 標準の検証機能を利用する ― validatesメソッド
- 入力要素が空の場合に検証をスキップする ― validatesメソッド(:allow_nil/:allow_blank)
- 検証エラーメッセージをカスタマイズする ― validatesメソッド(:message)
- 検証を新規登録/更新時に限定する ― validatesメソッド(:on)
- 特定の条件に合致した/しない場合にのみ検証を実施する ― validatesメソッド(:if/:unless)
- 検証エラーメッセージを取得する ― errorsメソッド
- エラー発生元の表示スタイルを変更する ― action_view.field_error_procパラメータ
- モデル固有の検証ルールを定義する ― validateメソッド
- 複数のプロパティに共通する独自の検証ルールを定義する ― validates_eachメソッド
- 汎用的な検証ルールを定義する ― validate_eachメソッド
- 検証パラメータにアクセスする ― optionsメソッド
- データベースに関連付かないモデルを定義する ― ActiveModel::Conversion/ActiveModel::Validations/ActiveModel::Namingモジュール
- モデルの新規登録/更新/削除時に処理を呼び出す ― before_xxxxx/after_xxxxxメソッド
- モデルオブジェクトの検索/生成時に処理を呼び出す ― after_find/after_initializeメソッド
- コールバックメソッドを簡単に宣言する ― before_xxxxx/after_xxxxxメソッド
- コールバックを複数のモデルで共有する ― コールバッククラス
- オブザーバーを自動生成する ― rails generate observerコマンド
- オブザーバーをアプリケーションに登録する ― active_record.observersパラメータ
- 複数モデルを監視するオブザーバーを定義する ― observeメソッド
- 概要
- テンプレートにRubyスクリプトを埋め込む ― <%…%>/<%=…%>/<%==…%>
- テンプレート変数を引き渡す ― @…
- テンプレートファイルでメモ情報を記録する ― コメント構文
- レイアウトとは?
- アプリケーション共通のレイアウトを準備する ― yieldメソッド
- レイアウトに複数のコンテンツ領域を埋め込む ― content_forメソッド
- レイアウトを入れ子にする ― content_for?メソッド
- 部分テンプレートとは?
- 部分テンプレートを呼び出す ― renderメソッド
- 部分テンプレートにモデルを簡単に引き渡す ― renderメソッド(省略構文)
- 配列に対して順に部分テンプレートを適用する ― renderメソッド(:collection)
- 配列に対して順に部分テンプレートを適用する(簡易版) ― renderメソッド(省略構文)
- 配列の内容を区切りテンプレート付きで出力する ― renderメソッド(:spacer_template)
- フォームヘルパーの分類
- 汎用的なフォームを生成する ― form_tagメソッド
- モデルと連携したフォームを生成する ― form_forメソッド
- モデルと連携したフォームで入力要素を生成する ― xxxxx_field/text_areaメソッド
- モデルと連携したフォームで入力要素を生成する(HTML5対応) ― xxxxx_fieldメソッド
- モデルと連携したフォームでラジオボタン/チェックボックスを生成する ― radio_button/check_boxメソッド
- 汎用的なフォームで入力要素を生成する ― xxxxx_tagメソッド
- 選択ボックス/リストボックスを生成する ― selectメソッド
- オブジェクト配列から選択ボックスを生成する ― collection_selectメソッド
- 選択ボックスのオプションをグループ化する ― grouped_collection_selectメソッド
- モデルと関連付かない選択ボックスを生成する ― select_tagメソッド
- 配列/ハッシュから選択オプションを生成する ― options_for_selectメソッド
- オブジェクト配列から選択オプションを生成する ― options_from_collection_for_selectメソッド
- グループ化された選択オプションを生成する ― option_groups_from_collection_for_selectメソッド
- 日付/時刻入力用の選択ボックスを生成する(モデル連携) ― xxxxx_selectメソッド
- 日付/時刻入力用の選択ボックスを生成する ― select_xxxxxメソッド
- 年月日/時分秒を入力するための選択ボックスを生成する ― select_xxxxxメソッド
- ラベルテキストを生成する ― labelメソッド
- モデルと連携したサブミットボタンを生成する ― submitメソッド
- ボタン/サブミットボタンを生成する ― button_tag/submit_tag/image_submit_tagメソッド
- form_forブロックの配下でサブフォームを定義する ― fields_forメソッド
- 入力項目をグループ化する ― field_set_tagメソッド
- 一覧形式の入力フォームを生成する ― xxxxx_fieldメソッド(:index)
- ルート定義をもとにURLを生成する ― url_forメソッド
- ハイパーリンクを生成する ― link_toメソッド
- 条件に合致した/しない場合のみリンクを生成する ― link_to_if/link_to_unlessメソッド
- リンク先が現在のページであればハイパーリンクを無効にする ― link_to_unless_currentメソッド
- メールアドレスへのリンクを生成する ― mail_toメソッド
- イメージ画像を表示する ― image_tagメソッド
- ブラウザ上で音声/動画を再生する ― audio_tag/video_tagメソッド
- JavaScriptファイルをインクルードする(Rails 3.0環境) ― javascript_include_tagメソッド
- スタイルシートをインクルードする(Rails 3.0環境) ― stylesheet_link_tagメソッド
- JavaScript/スタイルシートをインクルードする(Rails 3.1環境) ― javascript_include_tag/stylesheet_link_tagメソッド
- Asset Pipelineの挙動を制御する ― assets.xxxxxパラメータ
- アセットを事前コンパイルする ― rake assets:xxxxxコマンド
- サイトのFaviconを設定する ― favicon_link_tagメソッド
- ブラウザにフィードの存在を通知する ― auto_discovery_link_tagメソッド
- 外部リソースのパスを取得する ― path_to_xxxxxメソッド
- 改行文字を
/
タグで置き換える ― simple_formatメソッド - 文字列を指定フォーマットで整形する ― sprintfメソッド
- 文字列を指定の桁数で切り捨てる ― truncateメソッド
- 文字列から指定された単語の前後を抜き出す ― excerptメソッド
- キーワードをハイライト表示する ― highlightメソッド
- テーブルやリストのスタイルをn行おきに変更する ― cycle/reset_cycleメソッド
- サイクルの現在値を取得する ― current_cycleメソッド
- 数値データを加工する ― number_xxxxxメソッド
- 日付/時刻データを加工する ― strftimeメソッド
- <%…%>の中で文字列を出力する ― concatメソッド
- 文字列をHTMLエスケープせずに出力する ― rawメソッド
- URLエンコードを行う ― url_encodeメソッド
- 文字列から特定のタグ/属性を除去する ― sanitizeメソッド
- RailsアプリケーションでjQueryを有効化する ― javascript_expansionsパラメータ
- Ajax対応のハイパーリンクを生成する ― link_toメソッド(:remote)
- JavaScriptのコードをエスケープ処理する ― jメソッド
- Ajax対応のフォームを生成する ― form_tag/form_forメソッド(:remote)
- 国際化対応とは?
- 辞書ファイルを作成する ― 辞書ファイル
- ビューヘルパー/エラーメッセージなどを日本語化する ― 辞書ファイル
- アプリケーションで使用するロケールを設定する ― i18n.default_localeパラメータ
- ロケール情報を動的に設定する ― I18n.locale=メソッド
- 辞書ファイルを参照する ― tメソッド
- ロケール設定に応じて日付/時刻を整形する ― lメソッド
- 本体を持たない任意の空タグを生成する ― tagメソッド
- 本体を持つ任意のタグを生成する ― content_tagメソッド
- オブジェクトやハッシュなどのデータを可読形式に整形する ― debugメソッド
- テンプレートの処理結果を変数にセットする ― captureメソッド
- ビューヘルパーを自作する ― ApplicationHelperモジュール
- 任意の属性を受け取るビューヘルパーを定義する ― merge!メソッド
- 本体を持つビューヘルパーを定義する ― block_given?メソッド
- 概要
- 現在のルート定義を確認する ― rake routesコマンド
- RESTfulインターフェイスを定義する ― resourcesメソッド
- 単一リソースに対するルートを定義する ― resourceメソッド
- 階層関係にあるリソースをルート定義する ― resources/resourceメソッド
- ルートパラメータに制約条件を付与する ― :constraintsオプション
- ルートパラメータに複雑な制約条件を設定する ― matches?メソッド
- RESTfulインターフェイスに自前のルートを追加する(1) ― collection/memberブロック
- RESTfulインターフェイスに自前のルートを追加する(2) ― :onオプション
- RESTfulインターフェイスの標準アクションを無効にする ― :only/:exceptオプション
- new/editアクションに対応するURLを変更する ― :path_namesオプション
- モジュール配下のコントローラをマッピングする(1) ― namespaceブロック
- モジュール配下のコントローラをマッピングする(2) ― scope(:module)ブロック
- URLに特定の接頭辞を付与する ― scopeブロック
- マッピングすべきコントローラを変更する ― :controllerオプション
- 自動生成するUrlヘルパーの名前を変更する ― :asオプション
- リソースに関係ないルートを定義する ― matchメソッド
- ルーティングすべきHTTPメソッドを制限する ― :viaオプション
- 非RESTfulインターフェイスでルートパラメータに制約条件を付与する ― :constraintsオプション
- ルートパラメータのデフォルト値を設定する ― :defaultsオプション
- ルート定義をリダイレクトする ― redirectメソッド
- 非RESTfulインターフェイスで自動生成するUrlヘルパーの名前を変更する ― :asオプション
- トップページへのルートを定義する ― rootメソッド
- 概要
- テストデータベースを作成する ― rake db:test:xxxxxコマンド
- Unitテストを準備する ― testメソッド
- Unitテストの結果をチェックする ― assert_xxxxxメソッド
- 無条件にテストメソッドを失敗させる ― flunkメソッド
- フィクスチャの内容を参照する ― フィクスチャの展開
- テストの準備と後始末を行う ― setup/teardownメソッド
- Unitテストを実行する ― rake test:unitsコマンド
- Functionalテストを準備する ― testメソッド
- Functionalテストでコントローラを起動する ― get/post/put/delete/headメソッド
- Functionalテストの結果をチェックする ― assert_xxxxxメソッド
- テンプレートによる出力結果をチェックする ― assert_selectメソッド
- Functionalテストを実行する ― rake test:functionalsコマンド
- Integrationテストを準備する ― rails generate integration_testコマンド
- Integrationテストでコントローラを起動する ― get/post/put/delete/headメソッド
- リダイレクト処理を追跡する ― follow_redirect!/xxxxx_via_redirectメソッド
- Integrationテストを実行する ― rake test:integrationコマンド
- メール送信のための共通設定を定義する ― action_mailer.xxxxxパラメータ
- メーラークラスを自動生成する ― rails generate mailerコマンド
- メール送信のための処理を実装する ― default/mailメソッド
- メールヘッダを設定する ― headersメソッド
- メールテンプレートで利用するurl_forオプションを宣言する ― action_mailer.default_url_optionsオプション
- メールを送信する ― deliverメソッド
- HTMLメールを送信する ― .html.erbファイル
- メール本文に共通のテキストを挿入する ― layoutメソッド
- 添付ファイル付きメールを送信する ― attachmentsメソッド
- メールの出力形式を制御する ― mailメソッド
- キャッシュを有効化する ― action_controller.perform_cachingパラメータ
- ページ全体をキャッシュする(ページキャッシュ) ― caches_pageメソッド
- フィルタ機能を有効にしつつページ全体をキャッシュする(アクションキャッシュ) ― caches_actionメソッド
- ページの一部分をキャッシュする(フラグメントキャッシュ) ― cacheメソッド
- 複数のページでフラグメントキャッシュを共有する ― cacheメソッド
- フラグメントキャッシュの有無を確認する ― fragment_exist?メソッド
- キャッシュの保存方法を変更する ― cache_storeパラメータ
- キャッシュデータを破棄する ― expire_page/expire_action/expire_fragmentメソッド
- 特定のタイミングでキャッシュを破棄する ― ActionController::Caching::Sweeperクラス
- スイーパーを登録する ― cache_sweeperメソッド
- プラグインとは?
- ページング機能を実装する(アクションメソッド) ― paginateメソッド
- ページング機能を実装する(テンプレート) ― will_paginateメソッド
- ページングに関する情報を取得する ― will_paginateプラグイン
- 時間のかかる処理を非同期に実行する(準備編) ― Delayed::Jobプラグイン
- 時間のかかる処理を非同期に実行する(登録編) ― delayメソッド
- 時間のかかる処理を非同期に実行する(実行編) ― delayed_jobコマンド
- 待機中の非同期処理をクリアする ― rake jobs:clearコマンド
- アプリケーションに認証機能を実装する ― rails generate deviseコマンド
- 認証の諸機能へのリンクを作成する ― xxxxx_pathメソッド
- コントローラクラスに認証機能を実装する ― authenticate_xxxxx!メソッド
- ログインユーザの情報を取得する ― xxxxx_signed_in?/current_xxxxx/xxxxx_sessionメソッド
- 認証関連ページを日本語化する ― devise.ja.yml
- CoffeeScriptの基本
- 基本構文
- コメント
- 変数
- 文字列
- 配列/ハッシュ
- 演算子/キーワード
- if…else命令
- unless命令
- switch…when…else命令
- while/until命令
- for…in命令
- 関数
- クラスと継承
- SCSSの基本
- スタイル定義のネスト
- 変数
- 演算子
- 関数
- ディレクティブ
- コメント
- Apache+Passenger環境への配置
- Heroku環境への配置
- AbstractController::DoubleRenderError例外に要注意
- HTTPストリーミング
- きれいなコードを書いていますか - コーディング規約
- Has_many/has_oneとbelongs_toメソッドは双方必須なのか
- gemコマンドの主なオプション
- 状態管理の手法
- 控えめなJavaScript
- Rails 3.1で採用された新しいハッシュ記法
- Railsの「宣言」記法とクラスメソッド
- 日付/時刻に関する便利なメソッド
- ハッシュの省略形には要注意
- Railsを支える標準基盤 - Rack
- Railsをより深く学ぶための参考書籍
- コードの改行位置には要注意
- Railsアプリ開発に役立つ情報源
- Rails開発に役立つ統合開発環境 - Aptana Studio
- RailsでHTTP PUT/DELETEを表現する方法
コールバック
第4章 ビュー開発
ERBの基本
レイアウト
部分テンプレート
ビューヘルパー(フォーム)
ビューヘルパー(リンク)
ビューヘルパー(外部リソース)
ビューヘルパー(データ加工)
ビューヘルパー(出力/エスケープ)
ビューヘルパー(Ajax)
ビューヘルパー(国際化対応)
ビューヘルパー(その他)&自作
第5章 ルーティング
基本コマンド
RESTfulインターフェイス
非RESTfulインターフェイス
第6章 テスト
基本コマンド
Unitテスト
Functionalテスト
Integrationテスト
第7章 Action Mailer/キャッシュ/プラグイン
Action Mailer
キャッシュ
プラグイン
付録
CoffeeScript
Sass(SCSS)
本番環境への移行
コラム
この本に関連する書籍
-
Ruby on Rails 4アプリケーションプログラミング
(2015年3月13日更新) Rails技術者認定試験 「Rails4ブロンズ試験」主教材に採用! MVCフレームワークとして人気のあるRuby on Railsは,Rubyを活用してREST原則に基...
-
2週間でできる! スクリプト言語の作り方
コンピュータ言語の学習をする際,非常に効果的なのは,自分でOSやコンパイラ,プログラミング言語を作ることです。本書は,JavaScriptやPHP,Python,Rubyのようなスク...
-
jQuery本格入門 ~JavaScript開発・デザイン効率化の基礎からAjax・QUnitまで
JavaScriptで効率的に開発・デザインするために欠かせない定番ライブラリの基礎から応用まで1冊でマスター。要素の指定,属性値とプロパティといった初歩知識から, ...
-
Ruby on Rails 3 アプリケーションプログラミング
人気のRuby用MVCフレームワークRuby on Railsがバージョン3になり,より高機能かつモジュラビリティの高いWebアプリケーションフレームワークへと進化しました。本書は...
-
JavaScript本格入門 ~モダンスタイルによる基礎からAjax・jQueryまで
最も手軽でありながら,いまやネットのプログラミングに最も欠かせないJavaScriptの見落としがちな基礎から応用までしっかり解説。オブジェクト指向をベースにしたモダ...