From f71c96b5d6bea3fd6f1c6c5063ff634ee6c1d6c4 Mon Sep 17 00:00:00 2001 From: nacchan Date: Tue, 5 Aug 2025 11:20:17 +0900 Subject: [PATCH 1/2] =?UTF-8?q?=E6=96=87=E8=A8=80=E8=AA=BF=E6=95=B4=20?= =?UTF-8?q?=E3=83=A1=E3=82=A4=E3=83=A9=E3=83=BC=20->=20=E3=83=A1=E3=83=BC?= =?UTF-8?q?=E3=83=A9=E3=83=BC=20(v4.2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- guides/source/ja/3_0_release_notes.md | 8 +-- guides/source/ja/4_1_release_notes.md | 2 +- guides/source/ja/4_2_release_notes.md | 2 +- guides/source/ja/action_mailer_basics.md | 58 +++++++++---------- .../ja/active_support_core_extensions.md | 2 +- guides/source/ja/configuring.md | 2 +- .../source/ja/debugging_rails_applications.md | 4 +- guides/source/ja/engines.md | 4 +- guides/source/ja/getting_started.md | 2 +- guides/source/ja/testing.md | 26 ++++----- guides/source/ja/upgrading_ruby_on_rails.md | 4 +- 11 files changed, 57 insertions(+), 57 deletions(-) diff --git a/guides/source/ja/3_0_release_notes.md b/guides/source/ja/3_0_release_notes.md index 205a9df4319..ab96eca16bc 100644 --- a/guides/source/ja/3_0_release_notes.md +++ b/guides/source/ja/3_0_release_notes.md @@ -560,7 +560,7 @@ Action Mailer Action Mailerで、メールライブラリとしてTMailに代えて新たに[Mail](http://github.com/mikel/mail)に置き換えられた新しいAPIが提供されました。Action Mailer自身はほぼ完全に書き換えられ、多くのコードに手が入れられました。その結果Action MailerはAbstract Controllerをシンプルに継承するようになり、Rails DSLでMail gemをラップするようになりました。これにより、Action Mailer内の他のライブラリとのコード量や重複が著しく削減されました。 -* すべてのメイラーがデフォルトで`app/mailers`に置かれるようになった +* すべてのメーラーがデフォルトで`app/mailers`に置かれるようになった * 新しいAPIを用いて3とおりの方法(`attachments`、`headers`、`mail`)でメールを送信できるようになった * Action Mailerが`attachments.inline`メソッドを用いてインライン添付ファイルをネイティブでサポートするようになった * Action Mailerのメール送信メソッドが`Mail::Message`オブジェクトを返すようになり、`deliver`メッセージを送信することで自分自身を送信できるようになった @@ -568,18 +568,18 @@ Action Mailerで、メールライブラリとしてTMailに代えて新たに[M * `mail`配信メソッドが、有効なメールヘッダーのハッシュ(それらの値ペアを含む)を受け取れるようになった * `mail`配信メソッドがAction Controllerの`respond_to`と似た振る舞いになり、テンプレートを明示的または暗黙的にレンダリングできるようになった(Action Mailerはメールを必要に応じてマルチパートメールにする) * `mail`のブロック内で`format.mime_type`呼び出しにprocを1つ渡すことで、特定の種類のテキストを明示的にレンダリングしたり、レイアウトや別のテンプレートを追加したりできるようになった。そのproc内の`render`呼び出しはAbstract Controllerのもので、同じオプションをサポートする。 -* メイラーの単体テスト項目が機能テストに移動した +* メーラーの単体テスト項目が機能テストに移動した * Action Mailerがヘッダーフィールドや本文(body)の自動エンコーディングをMail gemに委譲した * Action Mailerがメールの本文やヘッダーを自動エンコードするようになった 以下は非推奨化されました。 * `:charset`、`:content_type`、`:mime_version`、`:implicit_parts_order`はすべて非推奨化され、今後は`ActionMailer.default :key => value`方式の宣言になった -* メイラーの動的な`create_method_name`や`deliver_method_name`が非推奨化された: 今後は単に`method_name`を呼ぶこと(`Mail::Message`オブジェクトが1つ返る) +* メーラーの動的な`create_method_name`や`deliver_method_name`が非推奨化された: 今後は単に`method_name`を呼ぶこと(`Mail::Message`オブジェクトが1つ返る) * `ActionMailer.deliver(message)`が非推奨化された: 今後は単に`message.deliver`を呼ぶこと * `template_root`が非推奨化された: 今後は`mail`生成ブロック内の`format.mime_type`メソッドからのproc内でrender呼び出しにオプションを渡すこと * インスタンス変数を定義する`body`メソッド(`body {:ivar => value}`)が非推奨化された: 今後はインスタンス変数をメソッド内で直接宣言するだけでビューで利用できるようになる -* メイラーを`app/models`に配置することが非推奨化された: 今後は`app/mailers`を使うこと +* メーラーを`app/models`に配置することが非推奨化された: 今後は`app/mailers`を使うこと 詳しくは以下を参照してください。 diff --git a/guides/source/ja/4_1_release_notes.md b/guides/source/ja/4_1_release_notes.md index 57e72eac27f..8622143990e 100644 --- a/guides/source/ja/4_1_release_notes.md +++ b/guides/source/ja/4_1_release_notes.md @@ -286,7 +286,7 @@ Action Mailer ### 主な変更点 -* 37 Signals社のmail_view gemを元にメイラーのプレビュー機能が追加されました。([Commit](https://github.com/rails/rails/commit/d6dec7fcb6b8fddf8c170182d4fe64ecfc7b2261)) +* 37 Signals社のmail_view gemを元にメーラーのプレビュー機能が追加されました。([Commit](https://github.com/rails/rails/commit/d6dec7fcb6b8fddf8c170182d4fe64ecfc7b2261)) * Action Mailerメッセージの生成が計測されるようになりました。メッセージを生成するのにかかった時間がログに記録されます。([Pull Request](https://github.com/rails/rails/pull/12556)) diff --git a/guides/source/ja/4_2_release_notes.md b/guides/source/ja/4_2_release_notes.md index 5e46833a735..c77672c1480 100644 --- a/guides/source/ja/4_2_release_notes.md +++ b/guides/source/ja/4_2_release_notes.md @@ -480,7 +480,7 @@ Action Mailer * `deliver_later`が導入されました。これは、アプリケーション内キューにジョブを流し込み、メールを非同期配信します。 ([Pull Request](https://github.com/rails/rails/pull/16485)) -* `show_previews`設定オプションが追加されました。これはdevelopment環境の外でメイラーをプレビューできるようにするためのものです。 +* `show_previews`設定オプションが追加されました。これはdevelopment環境の外でメーラーをプレビューできるようにするためのものです。 ([Pull Request](https://github.com/rails/rails/pull/15970)) diff --git a/guides/source/ja/action_mailer_basics.md b/guides/source/ja/action_mailer_basics.md index 7e28af90d62..f94e28fc6f7 100644 --- a/guides/source/ja/action_mailer_basics.md +++ b/guides/source/ja/action_mailer_basics.md @@ -2,12 +2,12 @@ Action Mailer の基礎 ==================== -本章では、アプリケーションでメールの送受信を行えるようにするために必要なすべての事項と、Action Mailerのさまざまな内部情報を提供します。また、メイラーのテスト方法についても説明します。 +本章では、アプリケーションでメールの送受信を行えるようにするために必要なすべての事項と、Action Mailerのさまざまな内部情報を提供します。また、メーラーのテスト方法についても説明します。 このガイドの内容: * Railsアプリケーションでメールを送受信する方法 -* Action Mailerクラスとメイラービューの生成および編集方法 +* Action Mailerクラスとメーラービューの生成および編集方法 * 環境に合わせてAction Mailerを設定する方法 * Action Mailerクラスのテスト方法 @@ -16,16 +16,16 @@ Action Mailer の基礎 はじめに ------------ -Action Mailerを使用することで、アプリケーションのメイラークラスやビューでメールを送信することができます。メイラーの動作はコントローラときわめて似通っています。メイラーは`ActionMailer::Base`を継承し、`app/mailers`に配置され、`app/views`にあるビューと結び付けられます。 +Action Mailerを使用することで、アプリケーションのメーラークラスやビューでメールを送信することができます。メーラーの動作はコントローラときわめて似通っています。メーラーは`ActionMailer::Base`を継承し、`app/mailers`に配置され、`app/views`にあるビューと結び付けられます。 メールを送信する -------------- -このセクションでは、メイラーとビューの作成方法を手順を追って説明します。 +このセクションでは、メーラーとビューの作成方法を手順を追って説明します。 -### メイラー生成の全手順 +### メーラー生成の全手順 -#### メイラーを作成する +#### メーラーを作成する ```bash $ bin/rails generate mailer UserMailer @@ -52,7 +52,7 @@ class UserMailer < ApplicationMailer end ``` -上に示したとおり、Railsの他のジェネレータ同様の方法でメイラーを生成できます。メイラーは概念上コントローラと似通っており、メイラーを生成すると (コントローラと同様に) ビューのディレクトリとテストも同時に生成されます。 +上に示したとおり、Railsの他のジェネレータ同様の方法でメーラーを生成できます。メーラーは概念上コントローラと似通っており、メーラーを生成すると (コントローラと同様に) ビューのディレクトリとテストも同時に生成されます。 ジェネレータを使用したくない場合は、app/mailersディレクトリ以下にファイルを作成し、`ActionMailer::Base`を継承してください。 @@ -61,11 +61,11 @@ class MyMailer < ActionMailer::Base end ``` -#### メイラーを編集する +#### メーラーを編集する -メイラーはRailsのコントローラと非常に似通っています。メイラーには「アクション」と呼ばれるメソッドがあり、メールのコンテンツを構成するのにビューを使用します。コントローラでHTMLなどのメールコンテンツを生成して顧客に送信したい場合、その箇所でメイラーを使用して、送信したいメッセージを作成します。 +メーラーはRailsのコントローラと非常に似通っています。メーラーには「アクション」と呼ばれるメソッドがあり、メールのコンテンツを構成するのにビューを使用します。コントローラでHTMLなどのメールコンテンツを生成して顧客に送信したい場合、その箇所でメーラーを使用して、送信したいメッセージを作成します。 -`app/mailers/user_mailer.rb`には空のメイラーがあります。 +`app/mailers/user_mailer.rb`には空のメーラーがあります。 ```ruby class UserMailer < ApplicationMailer @@ -88,12 +88,12 @@ end 上のメソッドで使用されている項目について簡単に説明します。利用可能なすべてのオプションについては、「Action Mailerの全メソッド」セクションでユーザー設定可能な属性を参照してください。 -* `default Hash` - メイラーから送信するあらゆるメールで使用されるデフォルト値のハッシュです。上の例の場合、`:from`ヘッダーにこのクラスのすべてのメッセージで使用する値を1つ設定しています。この値はメールごとに上書きすることもできます。 +* `default Hash` - メーラーから送信するあらゆるメールで使用されるデフォルト値のハッシュです。上の例の場合、`:from`ヘッダーにこのクラスのすべてのメッセージで使用する値を1つ設定しています。この値はメールごとに上書きすることもできます。 * `mail` - 実際のメール・メッセージです。ここでは`:to`ヘッダーと`:subject`ヘッダーを渡しています。 -コントローラの場合と同様、メイラーのメソッド内で定義されたすべてのインスタンス変数はそのままビューで使用できます。 +コントローラの場合と同様、メーラーのメソッド内で定義されたすべてのインスタンス変数はそのままビューで使用できます。 -#### メイラービューを作成する +#### メーラービューを作成する `app/views/user_mailer/`ディレクトリで`welcome_email.html.erb`というファイルを1つ作成してください。このファイルを、HTMLでフォーマットされたメールテンプレートにします。 @@ -132,11 +132,11 @@ example.comへのサインアップが成功しました。ユーザー名は「 現在のAction Mailerでは、`mail`メソッドを呼び出すと2種類のテンプレート (テキストおよびHTML) があるかどうかを探し、`multipart/alternative`形式のメールを自動生成します。 -#### メイラーを呼び出す +#### メーラーを呼び出す -Railsのメイラーは、ビューのレンダリングと本質的に同じことを行っています。ビューのレンダリングではHTTPプロトコルとして送信されますが、メイラーではメールのプロトコルを経由して送信する点のみが異なります。従って、ユーザー作成に成功したときにメールを送信するようコントローラからメイラーに指示するだけで機能するようになります。 +Railsのメーラーは、ビューのレンダリングと本質的に同じことを行っています。ビューのレンダリングではHTTPプロトコルとして送信されますが、メーラーではメールのプロトコルを経由して送信する点のみが異なります。従って、ユーザー作成に成功したときにメールを送信するようコントローラからメーラーに指示するだけで機能するようになります。 -メイラー呼び出しは非常に簡単です。 +メーラー呼び出しは非常に簡単です。 例として、最初にscaffoldで`User`を作成してみましょう。 @@ -287,11 +287,11 @@ def welcome_email(user) end ``` -### メイラーのビュー +### メーラーのビュー -メイラーのビューは`app/views/name_of_mailer_class`ディレクトリに置かれます。個別のメイラービューは、その名前がメイラーメソッドと同じになるので、クラスから認識できます。先の例の場合、`welcome_email`メソッドで使用するメイラービューは、HTML版であれば`app/views/user_mailer/welcome_email.html.erb`が使用され、プレーンテキストであれば`welcome_email.text.erb`が使用されます。 +メーラーのビューは`app/views/name_of_mailer_class`ディレクトリに置かれます。個別のメーラービューは、その名前がメーラーメソッドと同じになるので、クラスから認識できます。先の例の場合、`welcome_email`メソッドで使用するメーラービューは、HTML版であれば`app/views/user_mailer/welcome_email.html.erb`が使用され、プレーンテキストであれば`welcome_email.text.erb`が使用されます。 -アクションで使用するデフォルトのメイラービューを変更するには、たとえば以下のようにします。 +アクションで使用するデフォルトのメーラービューを変更するには、たとえば以下のようにします。 ```ruby class UserMailer < ApplicationMailer @@ -332,9 +332,9 @@ end ### Action Mailerのレイアウト -メイラーもコントローラのビューと同様の方法でレイアウトを設定できます。メイラーで使用するレイアウト名はメイラーと同じ名前である必要があります。たとえば、`user_mailer.html.erb`や`user_mailer.text.erb`というレイアウトは自動的にメイラーでレイアウトとして認識されます。 +メーラーもコントローラのビューと同様の方法でレイアウトを設定できます。メーラーで使用するレイアウト名はメーラーと同じ名前である必要があります。たとえば、`user_mailer.html.erb`や`user_mailer.text.erb`というレイアウトは自動的にメーラーでレイアウトとして認識されます。 -別のレイアウトファイルを明示的に指定したい場合は、メイラーで`layout`を呼び出します。 +別のレイアウトファイルを明示的に指定したい場合は、メーラーで`layout`を呼び出します。 ```ruby class UserMailer < ApplicationMailer @@ -361,7 +361,7 @@ end ### Action MailerのビューでURLを生成する -メイラーがコントローラと異なる点のひとつは、メイラーのインスタンスはサーバーに届くHTTPリクエストのコンテキストと無関係であることです。アプリケーションのホスト情報をメイラー内で使用したい場合は`:host`パラメータを明示的に指定します。 +メーラーがコントローラと異なる点のひとつは、メーラーのインスタンスはサーバーに届くHTTPリクエストのコンテキストと無関係であることです。アプリケーションのホスト情報をメーラー内で使用したい場合は`:host`パラメータを明示的に指定します。 `:host`に指定する値はそのアプリケーション内で共通であるのが普通なので、`config/application.rb`に以下の記述を追加してグローバルに利用できるようにします。 @@ -414,7 +414,7 @@ config.action_mailer.default_url_options = { host: 'example.com' } ### メール送信時に配信オプションを動的に変更する -SMTP認証情報などのデフォルトの配信オプションをメール配信時に上書きしたい場合、メイラーのアクションで`delivery_method_options`を使用して変更することができます。 +SMTP認証情報などのデフォルトの配信オプションをメール配信時に上書きしたい場合、メーラーのアクションで`delivery_method_options`を使用して変更することができます。 ```ruby class UserMailer < ApplicationMailer @@ -451,11 +451,11 @@ end Action Mailerを使用するメールの受信と解析は、メール送信に比べてやや複雑です。Railsアプリケーションでメールを受信できるようにするためには、その前にメール受信待ちするRailsアプリケーションに何らかの形でメールが転送されるようにしておく必要があります。Railsアプリケーションでメールを受信できるようにするためには、以下の作業が必要になります。 -* メイラーに`receive`メソッドを実装する +* メーラーに`receive`メソッドを実装する * `/(アプリのパス)/bin/rails runner 'UserMailer.receive(STDIN.read)'`でメールを受信するアプリケーションに、メールサーバーからメールを転送する。 -いずれかのメイラーに`receive`メソッドを定義すると、受信した生のメールはAction Mailerによって解析され、emailオブジェクトに変換されてデコードされた後、メイラーが新たにインスタンス化され、そのメイラーの`receive`インスタンスメソッドに渡されます。以下に例を示します。 +いずれかのメーラーに`receive`メソッドを定義すると、受信した生のメールはAction Mailerによって解析され、emailオブジェクトに変換されてデコードされた後、メーラーが新たにインスタンス化され、そのメーラーの`receive`インスタンスメソッドに渡されます。以下に例を示します。 ```ruby class UserMailer < ApplicationMailer @@ -483,11 +483,11 @@ Action Mailerのコールバック Action Mailerでは`before_action`、`after_action`および`around_action`というコールバックを指定できます。 -* コントローラと同様、メイラークラスのメソッドにもフィルタ付きのブロックまたはシンボルを1つ指定することができます。 +* コントローラと同様、メーラークラスのメソッドにもフィルタ付きのブロックまたはシンボルを1つ指定することができます。 * `before_action`コールバックを使用してmailオブジェクトにデフォルト値やdelivery_method_optionsを与えたり、デフォルトのヘッダと添付を挿入することもできます。 -* `after_action`コールバックも`before_action`と同様の設定を行いますが、メイラーのアクション内のインスタンス変数を使用します。 +* `after_action`コールバックも`before_action`と同様の設定を行いますが、メーラーのアクション内のインスタンス変数を使用します。 ```ruby class UserMailer < ApplicationMailer @@ -587,10 +587,10 @@ config.action_mailer.smtp_settings = { enable_starttls_auto: true } ``` -メイラーのテスト +メーラーのテスト -------------- -メイラーのテスト方法の詳細についてはテスティングガイドの[メイラーをテストする](testing.html#メイラーをテストする)を参照してください。 +メーラーのテスト方法の詳細についてはテスティングガイドの[メーラーをテストする](testing.html#メーラーをテストする)を参照してください。 メールを配信直前に加工する ------------------- diff --git a/guides/source/ja/active_support_core_extensions.md b/guides/source/ja/active_support_core_extensions.md index e1a06d577aa..ef08bc4ddd4 100644 --- a/guides/source/ja/active_support_core_extensions.md +++ b/guides/source/ja/active_support_core_extensions.md @@ -1761,7 +1761,7 @@ end 従って、このメソッドは、同じ場所でRubyが定数を評価したときの値と必ずしも等価ではありません。 -メイラー (mailer) のテストケースでは、テストするクラスの名前からテスト対象のメイラーを取得するのに`constantize`メソッドを使用します。 +メーラー (mailer) のテストケースでは、テストするクラスの名前からテスト対象のメーラーを取得するのに`constantize`メソッドを使用します。 ```ruby # action_mailer/test_case.rb diff --git a/guides/source/ja/configuring.md b/guides/source/ja/configuring.md index 3721a3c405b..b4a90c3f53a 100644 --- a/guides/source/ja/configuring.md +++ b/guides/source/ja/configuring.md @@ -409,7 +409,7 @@ MySQLアダプターを使用すると、以下の設定オプションが1つ * `config.action_mailer.perform_deliveries`は、メールを実際に配信するかどうかを指定します。デフォルトはtrueです。テスト時にメール送信を抑制するのに便利です。 -* `config.action_mailer.default_options`は、Action Mailerのデフォルトを設定します。これは、メイラーごとに`from`や`reply_to`などを設定します。デフォルトは以下のとおりです。 +* `config.action_mailer.default_options`は、Action Mailerのデフォルトを設定します。これは、メーラーごとに`from`や`reply_to`などを設定します。デフォルトは以下のとおりです。 ```ruby mime_version: "1.0", diff --git a/guides/source/ja/debugging_rails_applications.md b/guides/source/ja/debugging_rails_applications.md index f6e42d48c66..08f5bca310f 100644 --- a/guides/source/ja/debugging_rails_applications.md +++ b/guides/source/ja/debugging_rails_applications.md @@ -145,7 +145,7 @@ TIP: Railsのデフォルトログレベルは全環境で`debug`です。 ### メッセージ送信 -コントローラ、モデル、メイラーから現在のログに書き込みたい場合は、`logger.(debug|info|warn|error|fatal)`を使用します。 +コントローラ、モデル、メーラーから現在のログに書き込みたい場合は、`logger.(debug|info|warn|error|fatal)`を使用します。 ```ruby logger.debug "Person attributes hash: #{@person.attributes.inspect}" @@ -767,7 +767,7 @@ Valgrindのインストール方法とRuby内での使用方法については * [Footnotes](https://github.com/josevalim/rails-footnotes): すべてのRailsページに脚注を追加し、リクエスト情報を表示したり、TextMateでソースを開くためのリンクを表示したりします。 * [Query Trace](https://github.com/ruckus/active-record-query-trace/tree/master): ログにクエリ元のトレースを追加します。 * [Query Reviewer](https://github.com/nesquena/query_reviewer): このRailsプラグインは、開発中のselectクエリの前に"EXPLAIN"を実行します。また、ページごとにDIVセクションを追加して、分析対象のクエリごとの警告の概要をそこに表示します。 -* [Exception Notifier](https://github.com/smartinez87/exception_notification/tree/master): Railsアプリケーションでのエラー発生時用の、メイラーオブジェクトとメール通知送信テンプレートのデフォルトセットを提供します。 +* [Exception Notifier](https://github.com/smartinez87/exception_notification/tree/master): Railsアプリケーションでのエラー発生時用の、メーラーオブジェクトとメール通知送信テンプレートのデフォルトセットを提供します。 * [Better Errors](https://github.com/charliesome/better_errors): Rails標準のエラーページを新しい表示に置き換えて、ソースコードや変数検査などのコンテキスト情報を見やすくしてくれます。 * [RailsPanel](https://github.com/dejan/rails_panel): Rails開発用のChrome機能拡張です。これがあればdevelopment.logでtailコマンドを実行する必要がなくなります。Railsアプリケーションのリクエストに関するすべての情報をブラウザ上 (Developer Toolsパネル) に表示できます。 db時間、レンダリング時間、トータル時間、パラメータリスト、出力したビューなども表示されます。 diff --git a/guides/source/ja/engines.md b/guides/source/ja/engines.md index 7303f8c91e2..dc880d5bca0 100644 --- a/guides/source/ja/engines.md +++ b/guides/source/ja/engines.md @@ -127,13 +127,13 @@ module Blorgh end ``` -`Rails::Engine`クラスを継承することによって、指定されたパスにエンジンがあることがgemからRailsに通知され、アプリケーションの内部にエンジンが正しくマウントされます。そして、エンジンの`app`ディレクトリをモデル/メイラー/コントローラ/ビューの読み込みパスに追加します。 +`Rails::Engine`クラスを継承することによって、指定されたパスにエンジンがあることがgemからRailsに通知され、アプリケーションの内部にエンジンが正しくマウントされます。そして、エンジンの`app`ディレクトリをモデル/メーラー/コントローラ/ビューの読み込みパスに追加します。 ここで、`isolate_namespace`メソッドについて特別な注意が必要です。このメソッドの呼び出しは、エンジンのコントローラ/モデル/ルーティングなどが持つ固有の名前空間を、アプリケーション内部のコンポーネントが持つ類似の名前空間から分離する役目を担います。この呼び出しが行われないと、エンジンのコンポーネントがアプリケーション側に「漏れ出す」リスクが生じ、思わぬ動作が発生したり、エンジンの重要なコンポーネントが同じような名前のアプリケーション側コンポーネントによって上書きされてしまったりする可能性があります。名前の衝突の例として、ヘルパーを取り上げましょう。`isolate_namespace`が呼び出されないと、エンジンのヘルパーがアプリケーションのコントローラにインクルードされてしまう可能性があります。 NOTE: `Engine`クラスの定義に含まれる`isolate_namespace`の行を変更/削除しないことを **強く** 推奨します。この行が変更されると、生成されたエンジン内のクラスがアプリケーションと衝突する **可能性があります** 。 -名前空間を分離するということは、`bin/rails g model`の実行によって生成されたモデル (ここでは `bin/rails g model article`を実行したとします) は`Article`にならず、名前空間化されて`Blorgh::Article`になるということです。さらにモデルのテーブルも名前空間化され、単なる`articles`ではなく`blorgh_articles`になります。コントローラもモデルと同様に名前空間化されます。`ArticlesController`というコントローラは`Blorgh::ArticlesController`になり、このコントローラのビューは`app/views/articles`ではなく`app/views/blorgh/articles`に置かれます。メイラーも同様に名前空間化されます。 +名前空間を分離するということは、`bin/rails g model`の実行によって生成されたモデル (ここでは `bin/rails g model article`を実行したとします) は`Article`にならず、名前空間化されて`Blorgh::Article`になるということです。さらにモデルのテーブルも名前空間化され、単なる`articles`ではなく`blorgh_articles`になります。コントローラもモデルと同様に名前空間化されます。`ArticlesController`というコントローラは`Blorgh::ArticlesController`になり、このコントローラのビューは`app/views/articles`ではなく`app/views/blorgh/articles`に置かれます。メーラーも同様に名前空間化されます。 最後に、ルーティングもエンジン内で分離されます。これは名前空間化の最も肝心な部分であり、これについては本ガイドの[ルーティング](#ルーティング)セクションで後述します。 diff --git a/guides/source/ja/getting_started.md b/guides/source/ja/getting_started.md index 593a00c22e1..5ede888fbb3 100644 --- a/guides/source/ja/getting_started.md +++ b/guides/source/ja/getting_started.md @@ -117,7 +117,7 @@ $ cd blog | ファイル/フォルダ | 目的 | | ----------- | ------- | -|app/|ここにはアプリケーションのコントローラ、モデル、ビュー、ヘルパー、メイラー、そしてアセットが置かれます。以後、本ガイドでは基本的にこのディレクトリを中心に説明を行います。| +|app/|ここにはアプリケーションのコントローラ、モデル、ビュー、ヘルパー、メーラー、そしてアセットが置かれます。以後、本ガイドでは基本的にこのディレクトリを中心に説明を行います。| |bin/|ここにはアプリケーションを起動したりデプロイしたりするためのRailsスクリプトなどのスクリプトファイルが置かれます。| |config/|アプリケーションの設定ファイル (ルーティング、データベースなど) がここに置かれます。詳細については[Railsアプリケーションを設定する](configuring.html) を参照してください。| |config.ru|アプリケーションの起動に必要となる、Rackベースのサーバー用のRack設定ファイルです。| diff --git a/guides/source/ja/testing.md b/guides/source/ja/testing.md index ca12528b976..43b0e42717a 100644 --- a/guides/source/ja/testing.md +++ b/guides/source/ja/testing.md @@ -776,7 +776,7 @@ Rakeタスクでテストを実行する | `rake test:functionals` | `test/controllers`、`test/mailers`、`test/functional`以下にあるすべての機能テストを実行します。| | `rake test:helpers` | `test/helpers`以下にあるすべてのヘルパーテストを実行します。 | | `rake test:integration` | `test/integration`以下にあるすべての結合テストを実行します。| -| `rake test:mailers` | `test/mailers`以下にあるすべてのメイラーテストを実行します。 | +| `rake test:mailers` | `test/mailers`以下にあるすべてのメーラーテストを実行します。 | | `rake test:models` | `test/models`以下にあるすべてのモデルテストを実行します。 | | `rake test:units` | `test/models`、`test/helpers`、および`test/unit`以下にあるすべての単体テストを実行します。| | `rake test:all` | すべてのテストを素早く実行します (すべての種類のテストをマージし、dbのリセットは行わない)。 | @@ -888,16 +888,16 @@ test "should route to article" do end ``` -メイラーをテストする +メーラーをテストする -------------------- -メイラークラスを十分にテストするためには特殊なツールが若干必要になります。 +メーラークラスを十分にテストするためには特殊なツールが若干必要になります。 -### メイラーのテストについて +### メーラーのテストについて -Railsアプリケーションの他の部分と同様、メイラークラスについても期待どおり動作するかどうかをテストする必要があります。 +Railsアプリケーションの他の部分と同様、メーラークラスについても期待どおり動作するかどうかをテストする必要があります。 -メイラークラスをテストする目的は以下を確認することです。 +メーラークラスをテストする目的は以下を確認することです。 * メールが処理 (作成および送信) されていること * メールの内容 (subject、sender、bodyなど) が正しいこと @@ -905,21 +905,21 @@ Railsアプリケーションの他の部分と同様、メイラークラスに #### あらゆる側面からのチェック -メイラーのテストには単体テストと機能テストの2つの側面があります。単体テストでは、完全に制御された入力を与えた結果の出力と、期待される既知の値 (フィクスチャー) とを比較します。機能テストではメイラーによって作成される詳細部分についてのテストはほとんど行わず、コントローラとモデルがメイラーを正しく利用しているかどうかをテストするのが普通です。メイラーのテストは、最終的に適切なメールが適切なタイミングで送信されたことを立証するために行います。 +メーラーのテストには単体テストと機能テストの2つの側面があります。単体テストでは、完全に制御された入力を与えた結果の出力と、期待される既知の値 (フィクスチャー) とを比較します。機能テストではメーラーによって作成される詳細部分についてのテストはほとんど行わず、コントローラとモデルがメーラーを正しく利用しているかどうかをテストするのが普通です。メーラーのテストは、最終的に適切なメールが適切なタイミングで送信されたことを立証するために行います。 ### 単体テスト -メイラーが期待どおりに動作しているかどうかをテストするために、事前に作成しておいた出力例と、メイラーの実際の出力を比較するという単体テストを行なうことができます。 +メーラーが期待どおりに動作しているかどうかをテストするために、事前に作成しておいた出力例と、メーラーの実際の出力を比較するという単体テストを行なうことができます。 #### フィクスチャーの逆襲 -メイラーの単体テストを行なうために、フィクスチャーを利用してメイラーが最終的に出力すべき外見の例を与えます。これらのフィクスチャーはメールの出力例であって、通常のフィクスチャーのようなActive Recordデータではないので、通常のフィクスチャーとは別の専用のサブディレクトリに保存します。`test/fixtures`ディレクトリの下のディレクトリ名は、メイラーの名前に対応させてください。たとえば`UserMailer`という名前のメイラーであれば、`test/fixtures/user_mailer`というスネークケースのディレクトリ名にします。 +メーラーの単体テストを行なうために、フィクスチャーを利用してメーラーが最終的に出力すべき外見の例を与えます。これらのフィクスチャーはメールの出力例であって、通常のフィクスチャーのようなActive Recordデータではないので、通常のフィクスチャーとは別の専用のサブディレクトリに保存します。`test/fixtures`ディレクトリの下のディレクトリ名は、メーラーの名前に対応させてください。たとえば`UserMailer`という名前のメーラーであれば、`test/fixtures/user_mailer`というスネークケースのディレクトリ名にします。 -メイラーを生成すると、メイラーの各アクションに対応するスタブフィクスチャーが生成されます。Railsのジェネレータを使用しない場合は、自分でこれらのファイルを作成する必要があります。 +メーラーを生成すると、メーラーの各アクションに対応するスタブフィクスチャーが生成されます。Railsのジェネレータを使用しない場合は、自分でこれらのファイルを作成する必要があります。 #### 基本的なテストケース -`invite`というアクションで知人に招待状を送信する`UserMailer`という名前のメイラーに対する単体テストを以下に示します。これは、`invite`アクションをジェネレータで生成したときに作成される基本的なテストに手を加えたものです。 +`invite`というアクションで知人に招待状を送信する`UserMailer`という名前のメーラーに対する単体テストを以下に示します。これは、`invite`アクションをジェネレータで生成したときに作成される基本的なテストに手を加えたものです。 ```ruby require 'test_helper' @@ -952,13 +952,13 @@ friend@example.comさん、こんにちは。 どうぞよろしく! ``` -ここでメイラーのテスト作成方法の詳細部分についてご説明したいと思います。`config/environments/test.rb`の`ActionMailer::Base.delivery_method = :test`という行で送信モードをtestに設定しています。これにより、送信したメールが実際に配信されないようにできます。そうしないと、テスト中にユーザーにスパムメールを送りつけてしまうことになります。この設定で送信したメールは、`ActionMailer::Base.deliveries`という配列に追加されます。 +ここでメーラーのテスト作成方法の詳細部分についてご説明したいと思います。`config/environments/test.rb`の`ActionMailer::Base.delivery_method = :test`という行で送信モードをtestに設定しています。これにより、送信したメールが実際に配信されないようにできます。そうしないと、テスト中にユーザーにスパムメールを送りつけてしまうことになります。この設定で送信したメールは、`ActionMailer::Base.deliveries`という配列に追加されます。 NOTE: この`ActionMailer::Base.deliveries`という配列は、`ActionMailer::TestCase`でのテストを除き、自動的にはリセットされません。Action Mailerテストの外で配列をクリアしたい場合は、`ActionMailer::Base.deliveries.clear`で手動リセットできます。 ### 機能テスト -メイラーの機能テストでは、メール本文や受取人が正しいことを確認するなど、単体テストでカバーされているようなことは扱いません。メールの機能テストでは、メール配信メソッドを呼び出し、その結果適切なメールが配信リストに追加されるかどうかをチェックします。機能テストでは配信メソッド自体は正常に動作すると仮定することになりますが、これでまず問題ありません。機能テストでは、期待されたタイミングでアプリケーションのビジネスロジックからメールが送信されるかどうかをテストすることがメインになるのが普通だからです。たとえば、友人を招待するという操作によってメールが適切に送信されるかどうかをチェックするには以下のような機能テストを使用します。 +メーラーの機能テストでは、メール本文や受取人が正しいことを確認するなど、単体テストでカバーされているようなことは扱いません。メールの機能テストでは、メール配信メソッドを呼び出し、その結果適切なメールが配信リストに追加されるかどうかをチェックします。機能テストでは配信メソッド自体は正常に動作すると仮定することになりますが、これでまず問題ありません。機能テストでは、期待されたタイミングでアプリケーションのビジネスロジックからメールが送信されるかどうかをテストすることがメインになるのが普通だからです。たとえば、友人を招待するという操作によってメールが適切に送信されるかどうかをチェックするには以下のような機能テストを使用します。 ```ruby require 'test_helper' diff --git a/guides/source/ja/upgrading_ruby_on_rails.md b/guides/source/ja/upgrading_ruby_on_rails.md index b598520020c..9b682476d0a 100644 --- a/guides/source/ja/upgrading_ruby_on_rails.md +++ b/guides/source/ja/upgrading_ruby_on_rails.md @@ -189,7 +189,7 @@ SSL攻撃を緩和するために、`form_authenticity_token`がマスクされ ### Action Mailer -従来は、メイラークラスでメイラーメソッドを呼び出すと、該当するインスタンスメソッドが直接実行されました。Active Jobと`#deliver_later`メソッドの導入に伴い、この動作が変更されました。Rails 4.2では、これらのインスタンスメソッド呼び出しは`deliver_now`または`deliver_later`が呼び出されるまで実行延期されます。以下に例を示します。 +従来は、メーラークラスでメーラーメソッドを呼び出すと、該当するインスタンスメソッドが直接実行されました。Active Jobと`#deliver_later`メソッドの導入に伴い、この動作が変更されました。Rails 4.2では、これらのインスタンスメソッド呼び出しは`deliver_now`または`deliver_later`が呼び出されるまで実行延期されます。以下に例を示します。 ```ruby class Notifier < ActionMailer::Base @@ -203,7 +203,7 @@ mail = Notifier.notify(user, ...) # Notifier#notifyはこの時点では呼び mail = mail.deliver_now # "Called"を出力する ``` -この変更によって実行結果が大きく異なるアプリケーションはそれほどないと思われます。ただし、メイラー以外のメソッドを同期的に実行したい場合、かつ従来の同期的プロキシ動作に依存している場合は、これらのメソッドをメイラークラスにクラスメソッドとして直接定義する必要があります。 +この変更によって実行結果が大きく異なるアプリケーションはそれほどないと思われます。ただし、メーラー以外のメソッドを同期的に実行したい場合、かつ従来の同期的プロキシ動作に依存している場合は、これらのメソッドをメーラークラスにクラスメソッドとして直接定義する必要があります。 ```ruby class Notifier < ActionMailer::Base From cbbdd14d294c34f3d379e4102ec9eb01411a3296 Mon Sep 17 00:00:00 2001 From: nacchan Date: Tue, 5 Aug 2025 11:26:49 +0900 Subject: [PATCH 2/2] =?UTF-8?q?=E6=96=87=E8=A8=80=E8=AA=BF=E6=95=B4=20?= =?UTF-8?q?=E4=BB=A3=E3=82=8A=20->=20=E4=BB=A3=E3=82=8F=E3=82=8A=20(v4.2)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- guides/source/ja/4_1_release_notes.md | 14 +++++++------- guides/source/ja/4_2_release_notes.md | 4 ++-- guides/source/ja/action_controller_overview.md | 2 +- guides/source/ja/action_mailer_basics.md | 2 +- guides/source/ja/action_view_overview.md | 2 +- guides/source/ja/active_record_basics.md | 2 +- guides/source/ja/active_record_migrations.md | 8 ++++---- guides/source/ja/active_record_querying.md | 6 +++--- guides/source/ja/active_record_validations.md | 6 +++--- .../source/ja/active_support_core_extensions.md | 6 +++--- guides/source/ja/api_documentation_guidelines.md | 2 +- guides/source/ja/asset_pipeline.md | 6 +++--- guides/source/ja/configuring.md | 2 +- .../ja/constant_autoloading_and_reloading.md | 2 +- guides/source/ja/engines.md | 2 +- guides/source/ja/form_helpers.md | 6 +++--- guides/source/ja/routing.md | 6 +++--- guides/source/ja/security.md | 16 ++++++++-------- guides/source/ja/testing.md | 4 ++-- guides/source/ja/upgrading_ruby_on_rails.md | 16 ++++++++-------- 20 files changed, 57 insertions(+), 57 deletions(-) diff --git a/guides/source/ja/4_1_release_notes.md b/guides/source/ja/4_1_release_notes.md index 8622143990e..4a0a0d7754d 100644 --- a/guides/source/ja/4_1_release_notes.md +++ b/guides/source/ja/4_1_release_notes.md @@ -198,7 +198,7 @@ end JavaScriptレスポンスを伴うGETリクエストもクロスサイトリクエストフォージェリ (CSRF) 保護の対象となりました。この保護によって、第三者のサイトが重要なデータの奪取のために自分のサイトのJavaScript URLを参照して実行しようとすることを防止します。 -これは、`xhr`を使用しない場合、`.js` URLにヒットするすべてのテストはCSRF保護によって失敗するということです。``XmlHttpRequests`を明示的に想定するようにテストをアップグレードしてください。`post :create, format: :js`の代りに、明示的に`xhr :post, :create, format: :js`を使用してください。 +これは、`xhr`を使用しない場合、`.js` URLにヒットするすべてのテストはCSRF保護によって失敗するということです。``XmlHttpRequests`を明示的に想定するようにテストをアップグレードしてください。`post :create, format: :js`の代わりに、明示的に`xhr :post, :create, format: :js`を使用してください。 Railties @@ -242,11 +242,11 @@ Action Pack ### 削除されたもの -* 非推奨の、結合テスト用Railsアプリケーションフォールバックが削除されました。`ActionDispatch.test_app`を代りにご使用ください。 +* 非推奨の、結合テスト用Railsアプリケーションフォールバックが削除されました。`ActionDispatch.test_app`を代わりにご使用ください。 * 非推奨の`page_cache_extension` configが削除されました。 -* 非推奨の`ActionController::RecordIdentifier`が削除されました。`ActionView::RecordIdentifier`を代りにご使用ください。 +* 非推奨の`ActionController::RecordIdentifier`が削除されました。`ActionView::RecordIdentifier`を代わりにご使用ください。 * 以下の非推奨の定数がAction Controllerから削除されました。 @@ -262,7 +262,7 @@ Action Pack ### 主な変更点 -* `protect_from_forgery`によって、クロスオリジン`