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冊です。
更新履歴
- 正誤訂正: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はありません。
お問い合わせ
書籍に関するご質問や誤りのご報告、ご意見・ご感想などをお寄せください。
お問い合わせの前にFAQ・正誤表をご確認ください。すでに掲載済みの内容については個別回答が難しい場合があります。