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

サンプルサンプル

サンプルサンプルサンプルサンプル

サンプル著者名
5,720円
hontoで電子版を見る
Ruby on Rails アプリケーションプログラミング

読み込み中…

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

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

通常価格 3,960 円(税込)
通常価格 セール価格 3,960 円(税込)
SALE 売り切れ
ネットストア在庫 詳細
    読み込み中...
My店舗在庫
    My店舗登録で在庫確認と店舗お受け取りのご利用が可能になります。(要ログイン)
  • 在庫表示のサンプル
商品説明
本書は、MVCモデルに則った定番Webアプリケーションフレームワーク「Ruby on Rails」の解説書です。Scaffolding機能から、ビュー/モデル/コントローラー開発、ルーティング、テスト、クライアントサイド開発まで、Railsの主要機能を徹底解説しています。Rails 5までの必須機能はもちろん、それ以降に追加された各種コマンド/API/コンポーネントも詳細に解説しているため、Rails 7以降の最新技術を取り入れたWebアプリ開発にも柔軟に対応できます。
目次
■導入編
●第1章 イントロダクション
◯1.1 Railsというフレームワーク
1.1.1 アプリケーションフレームワークとは?
1.1.2 フレームワーク導入の利点
1.1.3 Rubyで利用可能なフレームワーク

◯1.2 Railsを利用するための環境設定
1.2.1 Railsプログラミングに必要なソフトウェア
1.2.2 Windowsにおける環境設定の手順
1.2.3 macOSにおける環境設定の手順
1.2.4 Visual Studio Codeのインストール(Windows/macOS共通)

●第2章 Ruby on Railsの基本
◯2.1 アプリの作成

◯2.2 コントローラーの基本
2.2.1 コントローラークラスの作成
2.2.2 コントローラークラスの基本構文
2.2.3 ルーティングの基礎を理解する
2.2.4 サンプルの実行
2.2.5 補足:コントローラーの命名規則

◯2.3 ビューの基本
2.3.1 テンプレート変数の設定
2.3.2 テンプレートファイルの作成
2.3.3 サンプルの実行
2.3.4 共通レイアウトの適用
2.3.5 補足:コメント構文

◯2.4 モデルの基本
2.4.1 Active Recordとは?
2.4.2 データベース接続の設定
2.4.3 モデルクラスの作成
2.4.4 マイグレーションファイルによるテーブルの作成
2.4.5 フィクスチャによるテストデータの準備
2.4.6 補足:データベースの確認
2.4.7 データ取得の基本
2.4.8 SQL命令の確認
2.4.9 補足:デバッグの基本

◯2.5 Railsの設定情報
2.5.1 主な設定ファイルの配置
2.5.2 利用可能な主な設定パラメーター
2.5.3 アプリ固有の設定を定義する

●第3章 Scaffolding機能によるRails開発の基礎
◯3.1 Scaffolding 機能によるアプリケーション開発
3.1.1 Scaffolding 開発の手順
3.1.2 自動生成されたルートを確認する ― resourcesメソッド

◯3.2 一覧画面の作成(indexアクション)
3.2.1 indexアクションメソッド
3.2.2 index.html.erbテンプレート

◯3.3 詳細画面の作成(showアクション)
3.3.1 showアクションメソッド
3.3.2 show.html.erbテンプレート

◯3.4 新規登録画面の作成(new / createアクション)
3.4.1 new.html.erbテンプレートファイル
3.4.2 new / createアクションメソッド

◯3.5 編集画面の作成(edit / updateアクション)
3.5.1 edit / updateアクションメソッド
3.5.2 edit.html.erbテンプレートファイル

◯3.6 削除機能の確認(destroyアクション)

◯3.7 準備:基本編で使用するプロジェクト
3.7.1 サンプルプロジェクトの準備方法
3.7.2 データベースの構造

■基本編
●第4章 ビュー開発
◯4.1 フォーム関連のビューヘルパー
4.1.1 フォーム生成の基礎
4.1.2 input、textarea要素を生成する ― xxxxx _field、text_area、radio_button、check_box メソッド
4.1.3 選択ボックス/リストボックスを生成する ― xxxxx _selectメソッド
4.1.4 曜日の選択ボックスを生成する ― weekday_selectメソッド
4.1.5 データベースの情報をもとにラジオボタン/チェックボックスを生成する ― collection_radio_buttons/collection_check_boxes メソッド
4.1.6 form_with ブロックの中で異なるモデルを編集する ― fields_forメソッド

◯4.2 文字列/数値関連のビューヘルパー
4.2.1 HTMLエスケープを無効化する ― rawメソッド
4.2.2 改行文字をp/br要素で置き換える ― simple_formatメソッド
4.2.3 文字列を指定桁で切り捨てる ― truncateメソッド
4.2.4 文字列から特定の部分のみを抜粋する ― excerptメソッド
4.2.5 テーブルやリストの背景色をn行おきに変更する ― cycleメソッド
4.2.6 特定のスタイルクラスを付与する ― class_namesメソッド
4.2.7 特定のキーワードをハイライト表示する ― highlightメソッド
4.2.8 文字列から要素を除去する ― sanitizeメソッド
4.2.9 数値をさまざまな形式で加工する ― number_xxxxxメソッド

◯4.3 リンク関連のビューヘルパー
4.3.1 ハイパーリンクを生成する ― link_toメソッド
4.3.2 ルート定義から動的にURL を生成する ― url_forメソッド
4.3.3 条件に応じてリンクを生成する ― link_to_if / link_to_unlessメソッド
4.3.4 現在のページの場合はリンクを無効にする ― link_to_unless_currentメソッド
4.3.5 メールアドレスへのリンクを生成する ― mail_toメソッド

◯4.4 その他のビューヘルパー
4.4.1 構造化データをダンプ出力する ― debugメソッド
4.4.2 スクリプトブロックの中に出力コードを埋め込む ― concatメソッド
4.4.3 出力結果を変数に格納する ― captureメソッド
4.4.4 サイトのFavicon を定義する ― favicon_link_tagメソッド

◯4.5 ビューヘルパーの自作
4.5.1 シンプルなビューヘルパー
4.5.2 HTML文字列を返すビューヘルパー
4.5.3 本体を持つビューヘルパー

◯4.6 アプリ共通のデザインを定義する ― レイアウト
4.6.1 レイアウトを適用するさまざまな方法
4.6.2 ページ単位でタイトルを変更する
4.6.3 レイアウトに複数のコンテンツ領域を設置する
4.6.4 レイアウトを入れ子に配置する

◯4.7 テンプレートの一部をページ間で共有する ― 部分テンプレート
4.7.1 部分テンプレートの配置
4.7.2 部分テンプレートが受け取る引数を宣言する
4.7.3 部分テンプレートにレイアウトを適用する ― パーシャルレイアウト
4.7.4 コレクションに繰り返し部分テンプレートを適用する ― collectionオプション

●第5章 モデル開発
◯5.1 データ取得の基本 ― findメソッド
5.1.1 主キー列による検索
5.1.2 任意のキー列による検索 ― find_byメソッド

◯5.2 複雑な条件で検索を実行する ― クエリメソッド
5.2.1 クエリメソッドの基礎
5.2.2 基本的な条件式を設定する ― whereメソッド
5.2.3 プレイスホルダーによる条件式の生成 ― whereメソッド(2)
5.2.4 否定の条件式を表す ― notメソッド
5.2.5 データを並べ替える ― orderメソッド
5.2.6 取得列を明示的に指定する ― selectメソッド
5.2.7 重複のないレコードを取得する ― distinctメソッド
5.2.8 特定範囲のレコードだけを取得する ― limit / offsetメソッド
5.2.9 データを集計する ― groupメソッド
5.2.10 集計結果をもとにデータを絞り込む ― havingメソッド
5.2.11 条件句を破壊的に代入する ― where!メソッド
5.2.12 クエリメソッドによる条件式を除去する ― unscopeメソッド
5.2.13 空の結果セットを取得する ― noneメソッド

◯5.3 データ取得のためのその他のメソッド
5.3.1 指定列の配列を取得する ― pluckメソッド
5.3.2 データの存在を確認する ― exists?メソッド
5.3.3 よく利用する条件句をあらかじめ準備する ― 名前付きスコープ
5.3.4 既定のスコープを定義する ― default_scopeメソッド
5.3.5 検索結果の行数を取得する ― countメソッド
5.3.6 特定条件に合致するレコードの平均や最大/最小を求める
5.3.7 生のSQL命令を直接指定する ― find_by_sqlメソッド
5.3.8 SQL命令を非同期に実行する ― load_asyncメソッド
5.3.9 補足:スロークエリを監視する

◯5.4 レコードの登録/更新/削除
5.4.1 単一のレコードを登録/更新する ― create/updateメソッド
5.4.2 複数のレコードをまとめて挿入する ― insert_allメソッド
5.4.3 複数のレコードをまとめて更新する ― update_allメソッド
5.4.4 入力値を正規化する ― normalizes メソッド
5.4.5 レコードを削除する ― destroy / deleteメソッド
5.4.6 複数のレコードをまとめて削除する ― destroy_allメソッド
5.4.7 トランザクション処理を実装する ― transactionメソッド
5.4.8 オプティミスティック同時実行制御
5.4.9 列挙型のフィールドを定義する ― Active Record enums
5.4.10 暗号化した値を保存する
5.4.11 補足:その他の更新系メソッド

◯5.5 検証機能の実装
5.5.1 Active Modelで利用できる検証機能
5.5.2 検証機能の基本
5.5.3 その他の検証クラス
5.5.4 検証クラス共通のパラメーター
5.5.5 自作検証クラスの定義
5.5.6 データベースに関連付かないモデルを定義する ― ActiveModel::Modelモジュール

◯5.6 アソシエーションによる複数テーブルの処理
5.6.1 リレーションシップと命名規則
5.6.2 参照元テーブルから参照先テーブルの情報にアクセスする ― belongs_toアソシエーション
5.6.3 1:nの関係を表現する ― has_manyアソシエーション
5.6.4 1:1の関係を表現する ― has_oneアソシエーション
5.6.5 m:nの関係を表現する(1) ― has_and_belongs_to_manyアソシエーション
5.6.6 m:nの関係を表現する(2) ― has_many(through)アソシエーション
5.6.7 アソシエーションによって追加されるメソッド
5.6.8 アソシエーションで利用できるオプション
5.6.9 複数のモデルをまとめて管理する ― 単一テーブル継承
5.6.10 継承関係にないモデル同士をまとめて管理する ― Delegated Types
5.6.11 アソシエーションで関連先の存在を確認する ― missingメソッド
5.6.12 関連するモデルを取得する ― extract_associatedメソッド
5.6.13 関連するモデルと結合する ― joinsメソッド
5.6.14 関連するモデルと結合する(左外部結合) ― left_outer_joinsメソッド
5.6.15 関連するモデルをまとめて取得する ― includesメソッド

◯5.7 コールバック
5.7.1 利用可能なコールバックと実行タイミング
5.7.2 コールバック実装の基本
5.7.3 コールバックのさまざまな定義方法

◯5.8 マイグレーション
5.8.1 マイグレーションのしくみ
5.8.2 マイグレーションファイルの構造
5.8.3 マイグレーションファイルの作成
5.8.4 マイグレーションファイルで利用できる主なメソッド
5.8.5 マイグレーションファイルの実行
5.8.6 リバーシブルなマイグレーションファイル
5.8.7 スキーマファイルによるデータベースの再構築
5.8.8 データの初期化
5.8.9 複数データベースへの対応

●第6章 コントローラー開発
◯6.1 リクエスト情報
6.1.1 リクエスト情報を取得する ― paramsメソッド
6.1.2 マスアサインメント脆弱性を回避する ― StrongParameters
6.1.3 リクエストヘッダーを取得する ― headersメソッド
6.1.4 リクエストヘッダーやサーバー環境変数を取得するための専用メソッド

◯6.2 レスポンスの操作
6.2.1 テンプレートファイルを呼び出す ― renderメソッド
6.2.2 空のコンテンツを出力する ― headメソッド
6.2.3 処理をリダイレクトする ― redirect_toメソッド
6.2.4 ファイルの内容を出力する ― send_fileメソッド
6.2.5 任意のデータを送出する ― send_dataメソッド
6.2.6 レスポンスヘッダーを取得/設定する
6.2.7 補足:ログを出力する ― loggerオブジェクト

◯6.3 HTML以外のレスポンス処理
6.3.1 モデルの内容をJSON / XML形式で出力する
6.3.2 テンプレート経由でJSON / XMLデータを生成する ― JBuilder / Builder

◯6.4 状態管理
6.4.1 クッキーを取得/設定する ― cookiesメソッド
6.4.2 永続化クッキー/暗号化クッキー
6.4.3 セッションを利用する ― sessionメソッド
6.4.4 フラッシュを利用する ― flashメソッド

◯6.5 フィルター
6.5.1 アクションの事前/事後に処理を実行する ― before / afterフィルター
6.5.2 アクションの前後で処理を実行する ― aroundフィルター
6.5.3 フィルターの適用範囲をカスタマイズする
6.5.4 例:フィルターによるフォーム認証の実装

◯6.6 アプリ共通の挙動を定義する ― Applicationコントローラー
6.6.1 共通フィルターの定義 ― ログイン機能の実装
6.6.2 共通的な例外処理をまとめる ― rescue_fromメソッド
6.6.3 クロスサイトリクエストフォージェリ対策を行う ― protect_from_forgeryメソッド
6.6.4 デバイス単位でビューを振り分ける ― Action Pack Variants
6.6.5 独自のフラッシュメッセージを追加する ― add_flash_typesメソッド
6.6.6 補足:共通ロジックをモジュールにまとめる ― concernsフォルダー

■応用編
●第7章 ルーティング
◯7.1 RESTfulインターフェイスとは?
7.1.1 RESTfulインターフェイスを定義する ― resourcesメソッド
7.1.2 単一のリソースを定義する ― resourceメソッド
7.1.3 補足:ルート定義を確認する

◯7.2 RESTfulインターフェイスのカスタマイズ
7.2.1 ルートパラメーターの制約条件 ― constraintsオプション
7.2.2 より複雑な制約条件の設定 ― 制約クラスの定義
7.2.3 format パラメーターを除去する ― formatオプション
7.2.4 コントローラークラス/Urlヘルパーの名前を修正する ― controllers / asオプション
7.2.5 モジュール配下のコントローラーをマッピングする ― namespace / scopeブロック
7.2.6 RESTfulインターフェイスに自前のアクションを追加する ― collection / memberブロック
7.2.7 RESTfulインターフェイスのアクションを無効化する ― only / exceptオプション
7.2.8 階層構造を持ったリソースを表現する ― resourcesメソッドのネスト
7.2.9 リソースの「浅い」ネストを表現する ― shallowオプション
7.2.10 ルート定義を再利用可能にする ― concernメソッド&concernsオプション

◯7.3 非RESTfulなルートの定義
7.3.1 非RESTfulルートの基本 ― matchメソッド
7.3.2 さまざまな非RESTfulルートの表現
7.3.3 トップページへのマッピングを定義する ― rootメソッド
7.3.4 カスタムのUrlヘルパーを生成する
7.3.5 ルート定義ファイルを分離する

●第8章 テスト
◯8.1 テストの基本
8.1.1 Railsアプリのテスト
8.1.2 テストの準備

◯8.2 Unitテスト
8.2.1 Unitテストの基本
8.2.2 テストの実行
8.2.3 Unitテストの具体例
8.2.4 テストの準備と後始末 ― setup / teardownメソッド
8.2.5 補足:テストを並列に実行する ― Parallelテスト

◯8.3 Functionalテスト
8.3.1 Functionalテストの基本
8.3.2 Functionalテストで利用できるAssertionメソッド

◯8.4 Integrationテスト

◯8.5 Systemテスト
8.5.1 Systemテストの準備
8.5.2 Systemテストの作成
8.5.3 Systemテストの実行

●第9章 フロントエンド開発
◯9.1 クライアントサイドスクリプトの基本構成
9.1.1 フロントエンド開発のキーワード
9.1.2 フロントエンド開発に関わるプロジェクト作成時のオプション

◯9.2 アセットパイプライン ― Propshaft
9.2.1 設定ファイル
9.2.2 アセットのインクルード
9.2.3 アセットの事前処理

◯9.3 Import Maps
9.3.1 モジュールの実体を登録する
9.3.2 JavaScript のコードを実装する

◯9.4 バンドラーの活用
9.4.1 バンドラー利用の準備
9.4.2 バンドラーによる実装

◯9.5 CSSプロセッサー
9.5.1 CSSプロジェクトの実行
9.5.2 スタイルのカスタマイズ

●第10章 コンポーネント
◯10.1 電子メールを送信する ― Action Mailer
10.1.1 Action Mailerを利用する準備
10.1.2 メール送信の基本
10.1.3 複数フォーマットでのメール配信
10.1.4 メールをプレビューする
10.1.5 メール送信前に任意の処理を実行する ― インターセプター
10.1.6 メーラーのUnitテスト

◯10.2 時間のかかる処理を実行する ― Active Job
10.2.1 Active Jobを利用する準備
10.2.2 ジョブ実行の基本
10.2.3 ジョブ実行のカスタマイズ
10.2.4 ジョブの登録/実行の前後で処理を実行する ― コールバック
10.2.5 ジョブのUnitテスト

◯10.3 ファイルをアップロードする ― Active Storage
10.3.1 Active Storageを利用する準備
10.3.2 ストレージ利用の基本
10.3.3 さまざまなファイル操作
10.3.4 クラウドサービスへの移行

◯10.4 リッチなテキストエディターを実装する ― Action Text
10.4.1 Action Text利用の準備
10.4.2 Action Text利用の基本

◯10.5 受信メールの処理を自動化する ― Action Mailbox
10.5.1 Action Mailboxの構成
10.5.2 Action Mailboxを利用する準備
10.5.3 メールボックス実行の基本
10.5.4 補足:本番環境への移行

◯10.6 WebSocket通信を実装する ― Action Cable
10.6.1 WebSocketの役割
10.6.2 Action Cableの構成
10.6.3 Action Cable利用の基本
10.6.4 複数のストリームでトピックを分割する
10.6.5 Action Cableの設定

●第11章 Railsの高度な機能
◯11.1 キャッシュ機能の実装
11.1.1 キャッシュを利用する場合の準備
11.1.2 フラグメントキャッシュの基本
11.1.3 フラグメントキャッシュを複数ページで共有する
11.1.4 モデルをもとにキャッシュキーを決める
11.1.5 指定の条件に応じてキャッシュを有効にする
11.1.6 キャッシュの格納先を変更する

◯11.2 アプリの国際化対応 ― I18n API
11.2.1 国際化対応アプリの全体像
11.2.2 国際化対応の基本的な手順
11.2.3 ロケールを動的に設定する方法 ― ApplicationController
11.2.4 辞書ファイルのさまざまな配置と記法
11.2.5 Rails 標準の翻訳情報を追加する
11.2.6 ビューヘルパーtの各種オプション

◯11.3 Hotwire
11.3.1 Hotwireの基本
11.3.2 ページの部分更新を有効化する
11.3.3 コンテンツの断片を挿入/置換/削除する

◯11.4 本番環境への移行
11.4.1 GitHubリポジトリの準備
11.4.2 ローカル環境での準備
11.4.3 Render.com側の準備
詳細を表示する

カスタマーレビュー

honto本の通販ストアのレビュー(0件)

並び順:
1/1ページ

最近チェックした商品