書籍詳細(Ruby on Rails 7ポケットリファレンス)

Ruby on Rails 7ポケットリファレンス 書影

ISBN: 978-4-297-13062-6

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

著者WINGSプロジェクト 山内直
監修山田祥寛
出版社技術評論社
価格3,200円(税別)
判型四六判・2色
ページ数624ページ
発売日2022年10月20日
シリーズ ポケットリファレンス
対象レベル中級

Ruby on Railsを使いこなすリファレンス

人気のポケットリファレンスにRails7が新登場。
逆引きで知りたい情報をすぐに探せて、豊富な用例から具体的な実装のイメージがつかめます。Action Mailbox/Action Text/Action Cable/Active Storage/Active Jobなど重要コンポーネントを新規書き下ろしで大幅に増強。開発者必携の1冊です。
Ruby on Rails 7ポケットリファレンス ロゴ

更新履歴

  • 正誤訂正:2023年10月12日 更新

目次

  • Chapter 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タスクを確認する―rails -Tコマンド
  • 利用しているライブラリのバージョンを確認する―rails aboutコマンド
  • 開発中の懸案事項をメモする―rails notesコマンド
  • Railsアプリケーションをバージョンアップする―rails app:updateコマンド
  • 一時ファイル領域を作成・消去する―rails tmp:xxxxコマンド
  • アプリケーションにテンプレートを適用する―rails app:templateコマンド
  • オリジナルのRakeタスクを作成する―taskメソッド
  • Chapter 2 コントローラ開発
  • 概要
  • コントローラの基本
  • コントローラクラスを作成する―rails generate controllerコマンド
  • アクションメソッドを記述する―アクションメソッド
  • コントローラ/アクション名を取得する ―controller_xxxxx/action_nameメソッド
  • リクエスト情報
  • ポストデータ/クエリ情報/ルートパラメータを取得する―paramsメソッド
  • リクエストヘッダ/サーバ環境変数を取得する―headersメソッド
  • レスポンス情報
  • テンプレートファイルを呼び出す―renderメソッド
  • 文字列を出力する―renderメソッド(:plain)
  • HTMLを出力する―renderメソッド(:html)
  • アクションにインラインのテンプレートを記述する―renderメソッド(:inline)
  • テンプレートに適用するレイアウトを変更する ―render(:layout)/layoutメソッド
  • XML形式のレスポンスを生成する―renderメソッド(:xml)
  • JSON形式のレスポンスを生成する―render(:json)メソッド
  • XML形式のデータをJSON形式に変換する―from_xmlメソッド
  • 空のコンテンツを出力する―headメソッド
  • テンプレートでの処理結果を文字列として取得する―render_to_stringメソッド
  • 他のページにリダイレクトする―redirect_to/redirect_backメソッド
  • 指定されたファイルを出力する―send_fileメソッド
  • クライアントにバイナリデータを送信する―send_dataメソッド
  • 拡張子に応じて応答フォーマットを切り替える―respond_toメソッド
  • 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パラメータ
  • セッション格納のデータベースを準備する ―rails generate active_record:session_migration/rails db:sessions:trimコマンド
  • リダイレクト前後で一時的にデータを維持する(1) ―redirect_toメソッド(:alert/:notice/:flash)
  • リダイレクト前後で一時的にデータを維持する(2)―flashメソッド
  • 現在のアクションでのみ有効なフラッシュを定義する―nowメソッド
  • フラッシュを次のリクエストに持ち越す―keepメソッド
  • フラッシュを破棄する―discardメソッド
  • ログ管理
  • 標準ログを出力する―unknown/fatal/error/warn/info/debugメソッド
  • ログの出力を重要度に応じて絞り込む―log_levelパラメータ
  • ログファイルをクリアする―rails log:clearコマンド
  • 特定の情報をログから除外する―filter_parameters/filter_redirectパラメータ
  • フィルタ
  • アクションの直前/直後に処理を実行する ―before_action/after_actionメソッド
  • アクションの前後で処理を実行する―around_actionメソッド
  • フィルタを簡単に定義する ―before_action/around_action/after_actionメソッド
  • 複数のコントローラでフィルタを共有する―before/after/aroundメソッド
  • 親コントローラから継承したフィルタを除外する―skip_xxxxx_actionメソッド
  • フィルタの実行順序を変更する―prepend_xxxxx_actionメソッド
  • 基本認証を実装する―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メソッド
  • コントローラに対応するヘルパーモジュールだけを読み込む ―action_controller.include_all_helpersパラメータ/clear_helpersメソッド
  • url_forメソッドに渡すデフォルトパラメータを設定する ―default_url_optionsメソッド
  • SSL通信を制御する―force_sslパラメータ/ssl_optionsパラメータ
  • Chapter 3 モデル開発
  • 概要
  • モデルの基本
  • データベースへの接続設定を定義する―database.yml
  • データベースを作成/削除する ―rails db:create/rails db:create:all/rails db:drop/
  • rails db:drop:allコマンド
  • データベースクライアントを起動する―rails dbconsoleコマンド
  • モデルクラスを自動生成する―rails generate modelコマンド
  • モデルの動作をコンソールで対話的に確認する―rails consoleコマンド
  • マイグレーション
  • マイグレーションとは?
  • マイグレーションファイルでデータベースを操作する ―change/up/downメソッド
  • マイグレーションファイルを実行する―rails db:migrateコマンド
  • マイグレーションの状態/バージョンを確認する ―rails db:migrate:status/rails db:versionコマンド
  • スキーマファイルでデータベースを作成する ―rails db:schema:load/rails db:resetコマンド
  • 現在のデータベースからスキーマファイルを生成する ―rails db:schema:dumpコマンド
  • データベースに初期データを投入する ―rails db:seed/rails db:setupコマンド
  • データベースにテストデータを投入する―rails db:fixtures:loadコマンド
  • マイグレーションファイルを単体で作成する―rails generate migrationコマンド
  • テーブルを作成する―create_tableメソッド
  • テーブルに特殊な列を追加する―timestamps/references/belongs_toメソッド
  • 既存テーブルを破棄する―drop_tableメソッド
  • マイグレーションファイルで任意のSQL命令を実行する―executeメソッド
  • 既存テーブルに列やインデックスを追加する―add_xxxxxメソッド
  • 既存の列定義/インデックスを削除する―remove_xxxxxメソッド
  • 既存の列定義を変更する―change_xxxxxメソッド
  • 既存列/インデックス/テーブルの名前を変更する―rename_xxxxxメソッド
  • 列/インデックスが存在するかを判定する―xxxxx_exists?メソッド
  • テーブル定義を変更する―change_tableメソッド
  • データの取得
  • テーブルからすべてのレコードを取得する―allメソッド
  • 主キー値でデータを検索する―findメソッド
  • 任意の列でデータを検索する―find_by_xxxxxメソッド
  • データを検索し初期化するか作成する ―find_or_initialize_by/find_or_create_byメソッド
  • テーブルの先頭/末尾のレコードを取得する―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_attributeメソッド
  • 既存のモデルオブジェクトを変更する―attributes=/assign_attributesメソッド
  • 複数のモデルオブジェクトをまとめて更新する―updateメソッド
  • 複数のモデルオブジェクトを効率的に更新する―update_allメソッド
  • 既存のレコードを削除する―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メソッド
  • コールバックを複数のモデルで共有する―コールバッククラス
  • Chapter 4 ビュー開発
  • 概要
  • ERBの基本
  • テンプレートにRubyスクリプトを埋め込む ―<%…%>/<%=…%>/<%==…%>
  • テンプレート変数を引き渡す―@…
  • テンプレートファイルでメモ情報を記録する ―コメント構文
  • レイアウト
  • レイアウトとは?
  • アプリケーション共通のレイアウトを準備する ―yieldメソッド
  • レイアウトに複数のコンテンツ領域を埋め込む ―content_forメソッド
  • レイアウトを入れ子にする ―content_for?メソッド
  • 部分テンプレート
  • 部分テンプレートとは?
  • 部分テンプレートを呼び出す―renderメソッド
  • 部分テンプレートにモデルを簡単に引き渡す ―renderメソッド(省略構文)
  • 配列に対して順に部分テンプレートを適用する ―renderメソッド(:collection)
  • 配列に対して順に部分テンプレートを適用する(簡易版) ―renderメソッド(省略構文)
  • 配列の内容を区切りテンプレート付きで出力する ―renderメソッド(:spacer_template)
  • ビューヘルパー(フォーム)
  • 汎用的なフォームを生成する ―form_withメソッド
  • モデルと連携したフォームを生成する ―form_withメソッド
  • 入力要素を生成する ―xxxxx_field/text_areaメソッド
  • ラジオボタン/チェックボックスを生成する ―radio_button/check_boxメソッド
  • コレクションからラジオボタン/チェックボックスを生成する ―collection_check_boxes/collection_radio_buttonsメソッド
  • 選択ボックス/リストボックスを生成する ―selectメソッド
  • オブジェクト配列から選択ボックスを生成する―collection_selectメソッド
  • 選択ボックスのオプションをグループ化する ―grouped_collection_selectメソッド
  • 日付/時刻入力用の選択ボックスを生成する―xxxxx_selectメソッド
  • ラベルテキストを生成する―labelメソッド
  • ボタン/サブミットボタンを生成する―submitメソッド
  • サブフォームを定義する―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メソッド
  • サイトのFaviconを設定する ―favicon_link_tagメソッド
  • ブラウザにフィードの存在を通知する ―auto_discovery_link_tagメソッド
  • 外部リソースのパスを取得する ―path_to_xxxxxメソッド
  • 外部リソースのパスを取得する ―url_to_xxxxメソッド
  • ビューヘルパー(データ加工)
  • 改行文字を<p>/<br>タグで置き換える ―simple_formatメソッド
  • 文字列を指定フォーマットで整形する ―sprintfメソッド
  • 文字列を指定の桁数で切り捨てる ―truncateメソッド
  • 文字列から指定された単語の前後を抜き出す ―excerptメソッド
  • キーワードをハイライト表示する ―highlightメソッド
  • テーブルやリストのスタイルをn行おきに変更する ―cycle/reset_cycleメソッド
  • サイクルの現在値を取得する ―current_cycleメソッド
  • 数値データを加工する ―number_xxxxxメソッド
  • 日付/時刻データを加工する ―strftimeメソッド
  • ビューヘルパー(出力/エスケープ)
  • <%…%>の中で文字列を出力する ―concatメソッド
  • 文字列をHTMLエスケープせずに出力する ―rawメソッド
  • URLエンコードを行う―url_encodeメソッド
  • 文字列から特定のタグ/属性を除去する ―sanitizeメソッド
  • ビューヘルパー(国際化対応)
  • 国際化対応とは?
  • 辞書ファイルを作成する―辞書ファイル
  • ビューヘルパー/エラーメッセージなどを日本語化する―辞書ファイル
  • アプリケーションで使用するロケールを設定する ―i18n.default_localeパラメータ
  • ロケール情報を動的に設定する―I18n.locale=メソッド
  • 辞書ファイルを参照する―tメソッド
  • ロケール設定に応じて日付/時刻を整形する―lメソッド
  • ビューヘルパー(その他)&自作
  • 任意のタグを生成する―tagメソッド
  • オブジェクトやハッシュなどのデータを可読形式に整形する ―debugメソッド
  • テンプレートの処理結果を変数にセットする ―captureメソッド
  • ビューヘルパーを自作する ―ApplicationHelperモジュール
  • 任意の属性を受け取るビューヘルパーを定義する ―merge!メソッド
  • 本体を持つビューヘルパーを定義する ―block_given?メソッド
  • Chapter 5 ルーティング
  • 概要
  • 基本コマンド
  • 現在のルート定義を確認する ―rails routesコマンド
  • RESTfulインターフェイス
  • 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オプション
  • 非RESTfulインターフェイス
  • リソースに関係ないルートを定義する ―matchメソッド
  • 非RESTfulインターフェイスでルートパラメータに制約条件を付与する ―:constraintsオプション
  • ルートパラメータのデフォルト値を設定する ―:defaultsオプション
  • ルート定義をリダイレクトする―redirectメソッド
  • 非RESTfulインターフェイスで自動生成するUrlヘルパーの名前を変更する ―asオプション
  • トップページへのルートを定義する―rootメソッド
  • カスタムURLヘルパーを定義する―directメソッド
  • Chapter 6 テスト
  • 概要
  • 基本コマンド
  • テストデータベースを作成する ―rails db:test:xxxxxコマンド
  • すべてのテストを実行する ―rails test:allコマンド
  • テストの順番を変更する ―active_support.test_orderパラメータ
  • Parallelテストを指定する ―parallelizeメソッド
  • Parallelテストの前処理と後処理を行う ―parallelize_setup/parallelize_teardownメソッド
  • Modelテスト
  • Modelテストを作成する ―rails generate test_unit:modelコマンド
  • Modelテストを準備する ―testメソッド
  • Modelテストの結果をチェックする ―assert_xxxxxメソッド
  • 無条件にテストメソッドを失敗させる ―flunkメソッド
  • フィクスチャの内容を参照する ―フィクスチャの展開
  • テストの準備と後始末を行う ―setup/teardownメソッド
  • Modelテストを実行する ―rails testコマンド
  • Functionalテスト
  • Functionalテストを作成する ―rails generate test_unit:scaffoldコマンド
  • Functionalテストを準備する ―testメソッド
  • Functionalテストでコントローラを起動する ―get/post/patch/put/delete/headメソッド
  • Functionalテストの結果をチェックする ―assert_xxxxxメソッド
  • テンプレートによる出力結果をチェックする ―assert_selectメソッド
  • Functionalテストを実行する ―rails testコマンド
  • Integrationテスト
  • Integrationテストを準備する ―rails generate integration_testコマンド
  • Integrationテストでコントローラを起動する ―get/post/patch/put/delete/head/follow_redirect!メソッド
  • Integrationテストを実行する ―rails test:integrationコマンド
  • Systemテスト
  • Systemテストを作成する ―rails generate system_testコマンド
  • Systemテストを準備する ―visit/fill_in/check/click_onメソッド
  • Systemテストを実行する ―rails test:systemコマンド
  • スクリーンショットを撮る ―take_screenshot/take_failed_screenshotメソッド
  • Chapter 7 コンポーネント
  • Action Mailer
  • メール送信のための共通設定を定義する―action_mailer.xxxxxパラメータ
  • メーラークラスを自動生成する―rails generate mailerコマンド
  • メール送信のための処理を実装する―default/mailメソッド
  • メールヘッダを設定する―headersメソッド
  • メールテンプレートで利用するurl_forオプションを宣言する
  • ―action_mailer.default_url_optionsパラメータ
  • メールを送信する―deliverメソッド
  • HTMLメールを送信する―.html.erbファイル
  • メール本文に共通のテキストを挿入する―layoutメソッド
  • 添付ファイル付きメールを送信する―attachmentsメソッド
  • メールの出力形式を制御する―mailメソッド
  • Action Mailbox
  • 概要
  • Action Mailboxをインストールする ―rails action_mailbox:installコマンド
  • イングレスのための資格情報を登録する―rails credentials:editコマンド
  • イングレスのための設定を定義する(SMTPリレーエージェント) ―action_mailbox.ingressパラメータ/
  • rails action_mailbox:ingress:xxxxコマンド
  • イングレスのための設定を定義する(メールサービスプロバイダ) ―action_mailbox.ingressパラメータ
  • ルーティングルールを設定する―routingメソッド
  • メールボックスをセットアップする―rails generate mailboxコマンド
  • メール受信の前処理を行う―before_processingメソッド
  • メールを返信する―bounce_withメソッド
  • 受信メールを処理する―processメソッド
  • メールが削除されるまでの時間を設定する ―action_mailbox.incinerate_afterパラメータ
  • development環境でメール受信を実行する―コンダクターコントローラ
  • Action Text
  • 概要
  • Action Textをインストールする―rails action_text:installコマンド
  • モデルにリッチテキストフィールドを追加する―has_rich_textメソッド
  • リッチテキストフィールドをフォームで参照する―rich_text_areaメソッド
  • Action Cable
  • 概要
  • サーバにチャネルを作成する―rails generate channelコマンド
  • サブスクライブされたときの処理を指定する―subscribed/unsubscribedメソッド
  • クライアントにサブスクリプションを作成する ―consumer.subscriptions.createメソッド
  • ストリームを作成する―stream_fromメソッド
  • クライアントからアクションを実行する―performメソッド
  • 特定のモデルにブロードキャストする―stream_for/broadcast_toメソッド
  • ブロードキャストする―broadcastメソッド
  • サブスクリプションアダプタを設定する―cable.ymlファイル
  • 許可する送信元を設定する ―action_cable.allowed_request_origins/
  • action_cable.disable_request_forgery_protectionパラメータ
  • Active Storage
  • 概要
  • 画像処理サポートのためのライブラリをインストールする(Windows)
  • 画像処理サポートのためのライブラリをインストールする(macOS)
  • Active Storageをセットアップする ―rails active_storage:installコマンド
  • サービスを定義する―storage.ymlファイル
  • サービスにAmazon S3を使う―storage.ymlファイル
  • サービスにMicrosoft Azure Storageを使う―storage.ymlファイル
  • サービスにGoogle Cloud Storageを使う―storage.ymlファイル
  • 利用サービスを設定する―active_storage.serviceパラメータ
  • ファイルとレコードにマッピングを設定する(1対1) ―has_one_attachedメソッド
  • ファイルとレコードにマッピングを設定する(1対多) ―has_many_attachedメソッド
  • ファイルをアップロードする―file_fieldメソッド
  • ファイルを表示する―representable?/representationメソッド
  • ファイルをプレビューする―previewable?/previewメソッド
  • レコードにファイルを添付する―attachメソッド
  • ファイルが添付されているか調べる―attached?メソッド
  • 添付ファイルのバリアントを指定する―variantメソッド
  • バリアントプロセッサを指定する
  • ―active_storage.variant_processorパラメータ
  • ファイルシステムのファイルを添付する―attachメソッド
  • 添付ファイルを削除する―purge/purge_laterメソッド
  • リダイレクトモードでファイルを配信する ―url_for/rails_blob_xxxxメソッド
  • プロキシモードでファイルを配信する ―rails_storage_proxy_xxxxメソッド/active_storage.resolve_model_to_routeパラメータ
  • ファイルをダウンロードする―openメソッド
  • ファイルが解析済みか調べる―analyzed?メソッド
  • 画像を変形する―variable?/variantメソッド
  • Active Job
  • 概要
  • ジョブを作成する―rails generate jobコマンド
  • キューを指定してジョブを作成する―rails generate jobコマンド
  • ジョブをキューに登録する―perform_laterメソッド
  • ジョブの実行タイミングなどを指定する―setメソッド
  • キューアダプタを指定する―active_job.queue_adapterパラメータ/queue_adpterメソッド
  • ジョブが使うキューを指定する ―queue_asメソッド/active_job.queue_name_prefixパラメータ
  • ジョブをただちに実行する―perform_nowメソッド
  • コールバックを設定する―xxxx_enqueue/xxxx_performメソッド
  • 例外をキャッチする―rescue_from/retry_on/discard_onメソッド
  • キャッシュ
  • キャッシュを有効化する―action_controller.perform_cachingパラメータ
  • 開発環境でキャッシュの有効・無効を切り替える―rails dev:cacheコマンド
  • ページの一部分をキャッシュする(フラグメントキャッシュ) ―cacheメソッド
  • 複数のページでフラグメントキャッシュを共有する―cacheメソッド
  • フラグメントキャッシュの有無を確認する―fragment_exist?メソッド
  • キャッシュの保存方法を変更する―cache_storeパラメータ
  • プラグイン
  • プラグインとは?
  • ページング機能を実装する(アクションメソッド)―paginateメソッド
  • ページング機能を実装する(テンプレート)―will_paginateメソッド
  • ページングに関する情報を取得する―will_paginateプラグイン
  • アプリケーションに認証機能を実装する―rails generate deviseコマンド
  • 認証の諸機能へのリンクを作成する―xxxxx_pathメソッド
  • コントローラクラスに認証機能を実装する―authenticate_xxxxx!メソッド
  • ログインユーザの情報を取得する ―xxxxx_signed_in?/current_xxxxx/xxxxx_sessionメソッド
  • 認証関連ページを日本語化する―devise.ja.ymlファイル
  • Chapter 8 フロントエンド開発
  • 概要
  • 基本的な構成
  • バンドラーを使う構成
  • CSSプロセッサを使う構成
  • フロントエンド関連のデフォルト構成
  • 基本コマンド
  • JavaScript/CSSをビルドしてサーバを起動する―bin/devコマンド
  • アセットを事前コンパイルする―rails assets:xxxxxコマンド
  • アセットパイプライン
  • 概要
  • Sprocketsの挙動を制御する―assets.xxxxxパラメータ
  • Propshaftの挙動を制御する―assets.xxxxxパラメータ
  • JavaScript/スタイルシートをインクルードする ―javascript_include_tag/stylesheet_link_tagメソッド
  • JavaScriptのコードをエスケープ処理する―jメソッド
  • Import Maps
  • 概要
  • モジュールをコマンドでピン留め/解除する―importmapコマンド
  • モジュールをピン留め/解除する―pin/pin_all_fromメソッド
  • マッピングをインクルードする―javascript_importmap_tagメソッド
  • マッピングを出力する―importmapコマンド
  • JavaScriptバンドル
  • 概要
  • バンドラーをアプリケーションに組み込む―rails newコマンド
  • バンドラーの動作をカスタマイズする―esbuild/rollup/webpackコマンド
  • CSSバンドル
  • 概要
  • CSSプロセッサをアプリケーションに組み込む―rails newコマンド
  • Hotwire
  • 概要
  • Hotwireをフォーム/リンク単位で無効にする―form_with/link_toメソッド
  • Hotwireをアプリケーション全体で無効にする ―Turbo.session.driveメソッド
  • フレームを作成する―turbo_frame_tagメソッド
  • コンテンツを挿入する ―turbo_stream.prepend/turbo_stream.appendメソッド
  • コンテンツを置き換える ―turbo_stream.replace/turbo_stream.updateメソッド
  • コンテンツを削除する―turbo_stream.removeメソッド
  • 付録
  • 本番環境へのデプロイ
  • コラム
  • AbstractController::DoubleRenderError例外に要注意
  • JSONを整形して見るJSONViewer
  • Rails以外のRubyによるWAF
  • Windows版Rubyは最新版をむやみにインストールしない
  • Railsの「宣言」記法とクラスメソッド
  • concernsフォルダとは?
  • RailsアプリをVSCodeで開発する
  • Railsアプリケーションの初期化ファイルの使い分け
  • has_many/has_oneとbelongs_toメソッドは双方必須?
  • gemコマンドの主なオプション
  • コーディング規約
  • Rubyの高速化アプローチ
  • 日付/時刻に関する便利なメソッド
  • binフォルダとは?
  • 状態管理の手法
  • ハッシュの省略形には要注意
  • HTML5とHTML Living Standard
  • Railsを支える標準基盤 - Rack
  • Railsアプリ開発に役立つ情報源
  • Railsをより深く学ぶための参考書籍
  • コードの改行位置に要注意
  • Action~とActive~の違いとは?
  • Pipedream
  • Trixエディタ
  • rakeコマンド?railsコマンド?
  • Railsアプリケーションの配布
  • Bootsnap
  • Import MapsとWebブラウザ
  • JavaScriptバンドラーの比較
  • Stimulusとは?

正誤表

該当頁 該当箇所 修正刷
訂正箇所 訂正事項 更新日
p.160 表:主要な列フラグ(引数flagのキー)  :nullフラグの概要 -
デフォルトはfalse デフォルトはtrue 2023/10/12
p.493 表:サービスのタイプ 概要部分 -
Google Cloud Platform Google Cloud Storage 2022/10/20
p.496 サンプルのキャプション -
Google Cloud Platform Google Cloud Storage 2022/10/20

FAQ

現在、FAQはありません。

お問い合わせ

書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。

Powered by メールフォーム 『オレンジフォーム』