From b4698c6ece8956dcc290483102e06e137e7fa676 Mon Sep 17 00:00:00 2001 From: hachi8833 Date: Sat, 23 Nov 2024 09:41:20 +0900 Subject: [PATCH] =?UTF-8?q?=E3=82=B9=E3=82=BF=E3=82=A4=E3=83=AB=E7=B5=B1?= =?UTF-8?q?=E4=B8=80:=20=E4=BD=BF=E7=94=A8=20-=20>=E4=BD=BF=E3=81=86?= =?UTF-8?q?=E3=80=81=E5=88=A9=E7=94=A8=E3=80=81=E7=94=A8=E3=81=84=E3=82=8B?= =?UTF-8?q?=E3=81=AA=E3=81=A9?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- guides/source/ja/2_3_release_notes.md | 4 +- guides/source/ja/4_2_release_notes.md | 56 ++++++++-------- guides/source/ja/5_0_release_notes.md | 64 +++++++++---------- guides/source/ja/5_1_release_notes.md | 14 ++-- guides/source/ja/action_cable_overview.md | 4 +- guides/source/ja/active_model_basics.md | 2 +- guides/source/ja/active_record_postgresql.md | 2 +- guides/source/ja/active_record_querying.md | 10 +-- guides/source/ja/association_basics.md | 2 +- .../ja/autoloading_and_reloading_constants.md | 4 +- guides/source/ja/configuring.md | 12 ++-- .../ja/constant_autoloading_and_reloading.md | 59 +++++++++-------- guides/source/ja/documents.yaml | 6 +- guides/source/ja/maintenance_policy.md | 4 +- guides/source/ja/plugins.md | 2 +- .../ja/tuning_performance_for_deployment.md | 4 +- 16 files changed, 124 insertions(+), 125 deletions(-) diff --git a/guides/source/ja/2_3_release_notes.md b/guides/source/ja/2_3_release_notes.md index 0e380aa9f1b..869639f46ab 100644 --- a/guides/source/ja/2_3_release_notes.md +++ b/guides/source/ja/2_3_release_notes.md @@ -144,7 +144,7 @@ Customer.find_in_batches(:conditions => {:active => true}) do |customer_group| end ``` -`find_in_batches` には、ほとんどの `find` オプションを渡せます。ただし、返すレコードの順序を指定することや (常に主キーの昇順で返される整数値でなければなりません)、 `:limit` オプションを使うことはできません。代わりに、 `:batch_size` オプション (デフォルトは 1000件) を使用して、各バッチで返されるレコードの数を設定できます。 +`find_in_batches`には、ほとんどの`find`オプションを渡せます。ただし、返すレコードの順序を指定することや(常に主キーの昇順で返される整数値でなければなりません)、 `:limit`オプションを使うことはできません。代わりに、 `:batch_size`オプション(デフォルトは 1000件)を使って、各バッチで返されるレコードの数を設定できます。 新しい `find_each` メソッドは、個々のレコードを返す `find_in_batches` のラッパーで、検索自体はバッチ処理で行われます (デフォルトでは 1000 件) 。 @@ -507,7 +507,7 @@ Active Supportでも、`Object#try`などいくつかの興味深い変更が行 ### XMLminiのパーサーが差し替え可能に -Active SupportのXML解析サポートで、パーサーを別のものに差し替えられるようになり、柔軟性が増しました。デフォルトでは、標準的なREXMLの実装を使用しますが、適切なgemがインストールされていれば、高速なLibXMLやNokogiriの実装を自分のアプリケーションに簡単に指定できます。 +Active SupportのXML解析サポートで、パーサーを別のものに差し替えられるようになり、柔軟性が増しました。デフォルトでは、標準的なREXMLの実装を使いますが、適切なgemがインストールされていれば、高速なLibXMLやNokogiriの実装を自分のアプリケーションに簡単に指定できます。 ```ruby diff --git a/guides/source/ja/4_2_release_notes.md b/guides/source/ja/4_2_release_notes.md index 49d3b334c0a..892de43b24e 100644 --- a/guides/source/ja/4_2_release_notes.md +++ b/guides/source/ja/4_2_release_notes.md @@ -27,7 +27,7 @@ Rails 4.2へのアップグレード Active Jobとは、Rails 4.2から採用された新しいフレームワークです。Active Jobは、[Resque](https://github.com/resque/resque)、[Delayed Job](https://github.com/collectiveidea/delayed_job)、[Sidekiq](https://github.com/mperham/sidekiq)など、さまざまなクエリシステムの最上位に位置するものです。 -Active Job APIを使用して記述されたジョブは、Active Jobがサポートするどのクエリシステムでもアダプタを介して実行できます。Active Jobは、ジョブを直ちに実行できるインラインランナー (inline runner) として最初から構成済みです。 +Active Job APIで記述されたジョブは、Active Jobがサポートするどのクエリシステムでもアダプタを介して実行できます。Active Jobは、ジョブを直ちに実行できるインラインランナー (inline runner) として最初から構成済みです。 ジョブの引数にActive Recordオブジェクトを与えたくなることはよくあります。Active Jobでは、オブジェクト参照をURI (uniform resource identifiers) として渡します。オブジェクト自身をマーシャリングしません。このURIは、Railsに新しく導入された[Global ID](https://github.com/rails/globalid)ライブラリによって生成され、ジョブはこれを元にオブジェクトを参照します。Active Recordオブジェクトをジョブの引数として渡すと、内部的には単にGlobal IDが渡されます。 @@ -45,9 +45,9 @@ end ### メールの非同期処理 -今回のリリースで、Action MailerはActive Jobの最上位に配置され、`deliver_later`メソッドを使用してジョブキューからメールを送信できるようになりました。これにより、キューを非同期 (asynchronous) に設定すればコントローラやモデルの動作がキューによってブロックされなくなりました (ただしデフォルトのインラインキューではコントローラやモデルの動作はブロックされます)。 +今回のリリースで、Action MailerはActive Jobの最上位に配置され、`deliver_later`メソッドを用いてジョブキューからメールを送信可能になりました。これにより、キューを非同期 (asynchronous) に設定すればコントローラやモデルの動作がキューによってブロックされなくなりました (ただしデフォルトのインラインキューではコントローラやモデルの動作はブロックされます)。 -`deliver_now`メソッドを使用すれば、メールを直ちに送信できます。 +`deliver_now`メソッドを使うと、メールを直ちに送信できます。 ### Adequate Record @@ -70,10 +70,10 @@ post.comments(true) 上の例で、メソッド呼び出しで渡された値そのものは準備済みSQL文のキャッシュに含まれていない点にご注目ください。全体をキャッシュしているのではなく、キャッシュされたSQL文が値のプレースホルダーとなっており、値だけ差し替えられている点が重要です。 -以下のような場合にはキャッシュは使用されません。 +以下のような場合にはキャッシュは使われません。 - モデルにデフォルトスコープが設定されている -- モデルで単一テーブル継承 (STI) が使用されている +- モデルで単一テーブル継承 (STI) が使われている - `find`で (単一のidではなく) idのリストを検索する。例: ```ruby @@ -82,7 +82,7 @@ post.comments(true) Post.find([1,2]) ``` -- `find_by`でSQLフラグメントを使用している +- `find_by`でSQLフラグメントが使われている ```ruby Post.find_by('published_at < ?', 2.weeks.ago) @@ -129,7 +129,7 @@ remove_foreign_key :accounts, column: :owner_id ### `respond_with`とクラスレベルの`respond_to`の扱いについて -`respond_with`と、これに対応するクラスレベルの`respond_to`は[responders](https://github.com/plataformatec/responders) gemに移動されました。この機能を使用したい場合は、`Gemfile`に`gem "responders", "~> 2.0"`を追記してください。 +`respond_with`と、これに対応するクラスレベルの`respond_to`は[responders](https://github.com/plataformatec/responders) gemに移動されました。この機能を使いたい場合は、`Gemfile`に`gem "responders", "~> 2.0"`を追記してください。 ```ruby # app/controllers/users_controller.rb @@ -186,7 +186,7 @@ HTMLサニタイザは[Loofah](https://github.com/flavorjones/loofah)と ### `assert_select` `assert_select`は[Nokogiri](https://github.com/sparklemotion/nokogiri)ベースで実装されました。 -これにより、以前は有効であったセレクタの一部がサポートされなくなりました。アプリケーションでこれらを使用している場合は、アプリケーションを変更する必要があります。 +これにより、以前は有効であったセレクタの一部がサポートされなくなりました。アプリケーションでこれらを使っている場合は、アプリケーションを変更する必要があります。 * 属性セレクタの値に英文字以外の文字が含まれる場合は、値を引用符で囲む必要が生じることがあります @@ -269,7 +269,7 @@ Railties * モデル関連付けをおこなうジェネレータに`required`オプションが追加されました。 ([Pull Request](https://github.com/rails/rails/pull/16062)) -* カスタム設定オプションを定義する時に使用する`x`名前空間が導入されました。 +* カスタム設定オプションを定義する時に利用できる`x`名前空間が導入されました。 ```ruby # config/environments/production.rb @@ -278,7 +278,7 @@ Railties config.x.super_debugger = true ``` - これらのオプションは、以下のようにconfigurationオブジェクト全体で使用できます。 + これらのオプションは、以下のようにconfigurationオブジェクト全体で利用できます。 ```ruby Rails.configuration.x.payment_processing.schedule # => :daily @@ -319,7 +319,7 @@ development: * `rake notes`に新しい拡張子を登録するためのAPIが導入されました。 ([Pull Request](https://github.com/rails/rails/pull/14379)) -* Railsテンプレートで使用する`after_bundle`コールバックが導入されました。 +* Railsテンプレートで使う`after_bundle`コールバックが導入されました。 ([Pull Request](https://github.com/rails/rails/pull/16359)) * `Rails.gem_version`メソッドが導入されました。これは`Gem::Version.new(Rails.version)`を簡単に得るためのものです。 @@ -337,15 +337,15 @@ Action Pack Gemfileに`gem "responders", "~> 2.0"`を追加してください。 ([Pull Request](https://github.com/rails/rails/pull/16526)、[詳細](upgrading_ruby_on_rails.html#responders-gem)) -* 非推奨の`AbstractController::Helpers::ClassMethods::MissingHelperError`が削除されました。今後は`AbstractController::Helpers::MissingHelperError`を使用してください。 +* 非推奨の`AbstractController::Helpers::ClassMethods::MissingHelperError`が削除されました。今後は`AbstractController::Helpers::MissingHelperError`をお使いください。 ([Commit](https://github.com/rails/rails/commit/a1ddde15ae0d612ff2973de9cf768ed701b594e8)) ### 非推奨 -* `*_path`ヘルパーで`only_path`オプションを使用することが非推奨になりました。 +* `*_path`ヘルパーで`only_path`オプションを利用することが非推奨になりました。 ([Commit](https://github.com/rails/rails/commit/aa1fadd48fb40dd9396a383696134a259aa59db9)) -* `assert_tag`、`assert_no_tag`、`find_tag`、`find_all_tag`が非推奨になりました。今後は`assert_select`を使用してください。 +* `assert_tag`、`assert_no_tag`、`find_tag`、`find_all_tag`が非推奨になりました。今後は`assert_select`をお使いください。 ([Commit](https://github.com/rails/rails-dom-testing/commit/b12850bc5ff23ba4b599bf2770874dd4f11bf750)) * ルーティングの`:to`オプションで、`#`という文字を含まないシンボルや文字列のサポートが非推奨になりました。 @@ -359,7 +359,7 @@ Gemfileに`gem "responders", "~> 2.0"`を追加してください。 ([Commit](https://github.com/rails/rails/commit/cc26b6b7bccf0eea2e2c1a9ebdcc9d30ca7390d9)) -* URLヘルパー内において、ハッシュのキーに文字列を使用することが非推奨になりました。例: +* URLヘルパー内において、ハッシュのキーに文字列を使うことが非推奨になりました。例: ```ruby # 良くない例 @@ -373,7 +373,7 @@ Gemfileに`gem "responders", "~> 2.0"`を追加してください。 ### 主な変更点 -* `*_filter`に関するメソッド群をドキュメントから削除しました。これらのメソッドの使用は推奨されていません。今後は`*_action`を使用するようにしてください。 +* `*_filter`に関するメソッド群をドキュメントから削除しました。これらのメソッドの利用は推奨されていません。今後は`*_action`をお使いください。 ``` after_filter => after_action @@ -403,7 +403,7 @@ Gemfileに`gem "responders", "~> 2.0"`を追加してください。 * URLヘルパーに渡されるセグメントが自動的にエスケープされるようになりました。([Commit](https://github.com/rails/rails/commit/5460591f0226a9d248b7b4f89186bd5553e7768f)) -* グローバルに使用してよいパラメータを指定するための`always_permitted_parameters`が導入されました。この設定のデフォルト値は`['controller', 'action']`です。 +* グローバルに使ってよいパラメータを指定するための`always_permitted_parameters`が導入されました。この設定のデフォルト値は`['controller', 'action']`です。 ([Pull Request](https://github.com/rails/rails/pull/15933)) * [RFC 4791](https://tools.ietf.org/html/rfc4791)に基づいた`MKCALENDAR`というHTTPメソッドを追加しました。 @@ -453,7 +453,7 @@ Action View * フォームヘルパーが変更され、インラインCSSを持つ`
`要素が隠しフィールドの周辺で生成されなくなりました。 ([Pull Request](https://github.com/rails/rails/pull/14738)) -* `#{partial_name}_iteration`という特殊なローカル変数が導入されました。このローカル変数は、コレクションのレンダリング時にパーシャルを使用します。これにより、`#index`や`#size`、`#first?`や`last?`メソッドを使って現在のイテレート中の状態にアクセスできるようになりました。 +* `#{partial_name}_iteration`という特殊なローカル変数が導入されました。このローカル変数は、コレクションのレンダリング時にパーシャルを使います。これにより、`#index`や`#size`、`#first?`や`last?`メソッドを使って現在のイテレート中の状態にアクセスできるようになりました。 ([Pull Request](https://github.com/rails/rails/pull/7698)) * プレースホルダの国際化 (I18n) が`label`の国際化と同じルールに従うようになりました。 @@ -467,10 +467,10 @@ Action Mailer ### 非推奨 -* Action Mailerの`*_path`ヘルパーが非推奨になりました。今後は必ず`*_url`ヘルパーを使用してください。 +* Action Mailerの`*_path`ヘルパーが非推奨になりました。今後は必ず`*_url`ヘルパーをお使いください。 ([Pull Request](https://github.com/rails/rails/pull/15840)) -* `deliver` や`deliver!`が非推奨になりました。今後は`deliver_now`や`deliver_now!`を使用してください。 +* `deliver` や`deliver!`が非推奨になりました。今後は`deliver_now`や`deliver_now!`をお使いください。 ([Pull Request](https://github.com/rails/rails/pull/16582)) ### 主な変更点 @@ -498,7 +498,7 @@ Active Record * 非推奨の`ActiveRecord::Base.quoted_locking_column`メソッドが削除されました。 ([Pull Request](https://github.com/rails/rails/pull/15612)) -* 非推奨の`ActiveRecord::Migrator.proper_table_name`が削除されました。今後は`ActiveRecord::Migration`の`proper_table_name`インスタンスメソッドを代わりに使用してください。 +* 非推奨の`ActiveRecord::Migrator.proper_table_name`が削除されました。今後は`ActiveRecord::Migration`の`proper_table_name`インスタンスメソッドを代わりにお使いください。 ([Pull Request](https://github.com/rails/rails/pull/15512)) * 未使用の`:timestamp`タイプが削除されました。今後は常に透過的に`:datetime`にエイリアスされるようになります。これにより、XMLシリアライズなどでカラムの種類がActive Recordの外に送信された場合の不整合が修正されます。 @@ -520,13 +520,13 @@ Active Record 現時点における、開始値を増分 (increment) する解決方法は正しくないため、非推奨になりました。増分の方法が不明なサブタイプ (例: `#succ`は増分方法が未定義) については、開始値を除外する範囲指定によって`ArgumentError`が発生します。 ([Commit](https://github.com/rails/rails/commit/91949e48cf41af9f3e4ffba3e5eecf9b0a08bfc3)) -* 接続が行われていない状態での`DatabaseTasks.load_schema`の呼び出しが非推奨になりました。今後は`DatabaseTasks.load_schema_current`を使用してください。 +* 接続が行われていない状態での`DatabaseTasks.load_schema`の呼び出しが非推奨になりました。今後は`DatabaseTasks.load_schema_current`をお使いください。 ([Commit](https://github.com/rails/rails/commit/f15cef67f75e4b52fd45655d7c6ab6b35623c608)) -* Replacementを使わずに`sanitize_sql_hash_for_conditions`を使用することが非推奨になりました。クエリを発行したり更新する際には`Relation`を使用することが、推奨APIとなります。 +* Replacementを使わずに`sanitize_sql_hash_for_conditions`を使うことが非推奨になりました。クエリを発行したり更新する際には`Relation`を使うことが、推奨APIとなります。 ([Commit](https://github.com/rails/rails/commit/d5902c9e)) -* `:null`オプションを渡さずに`add_timestamps`や`t.timestamps`を使用することが非推奨になりました。現在の初期値は`null: true`ですが、 Rails 5では`null: false`に変更される予定です。 +* `:null`オプションを渡さずに`add_timestamps`や`t.timestamps`を使うことが非推奨になりました。現在の初期値は`null: true`ですが、 Rails 5では`null: false`に変更される予定です。 ([Pull Request](https://github.com/rails/rails/pull/16481)) * `Reflection#source_macro`が非推奨になりました。今後Active Recordでの必要性がなくなったため、代替はありません。 @@ -576,7 +576,7 @@ Active Record * PostgreSQLアダプターでユーザ定義のRangeタイプがサポートされました。 ([Commit](https://github.com/rails/rails/commit/4cb47167e747e8f9dc12b0ddaf82bdb68c03e032)) -* `sqlite3:///some/path`のようなパスは今後絶対システムパスで解決されるようになりました。相対パスが必要な場合は、代わりに`sqlite3:some/path`のような表記を使用してください +* `sqlite3:///some/path`のようなパスは今後絶対システムパスで解決されるようになりました。相対パスが必要な場合は、代わりに`sqlite3:some/path`のような表記をお使いください (従来`sqlite3:///some/path`は`some/path`のような相対パスで解決されていましたが、これはRails 4.1で非推奨となっていました)。 ([Pull Request](https://github.com/rails/rails/pull/14569)) @@ -606,10 +606,10 @@ Active Model ### 非推奨 -* `reset_#{attribute}`が非推奨になりました。今後は`restore_#{attribute}`を使用してください。 +* `reset_#{attribute}`が非推奨になりました。今後は`restore_#{attribute}`をお使いください。 ([Pull Request](https://github.com/rails/rails/pull/16180)) -* `ActiveModel::Dirty#reset_changes`が非推奨になりました。今後は`clear_changes_information`を使用してください。 +* `ActiveModel::Dirty#reset_changes`が非推奨になりました。今後は`clear_changes_information`をお使いください。 ([Pull Request](https://github.com/rails/rails/pull/16180)) ### 主な変更点 @@ -644,7 +644,7 @@ Active Support * `Kernel#silence_stderr`、`Kernel#capture`、`Kernel#quietly`が非推奨になりました。代替はありません。 ([Pull Request](https://github.com/rails/rails/pull/13392)) -* `Class#superclass_delegating_accessor`が非推奨になりました。今後は`Class#class_attribute`を使用してください。 +* `Class#superclass_delegating_accessor`が非推奨になりました。今後は`Class#class_attribute`をお使いください。 ([Pull Request](https://github.com/rails/rails/pull/14271)) * `ActiveSupport::SafeBuffer#prepend!` が非推奨となりました。現在は `ActiveSupport::SafeBuffer#prepend` が同様の振る舞いをします。 diff --git a/guides/source/ja/5_0_release_notes.md b/guides/source/ja/5_0_release_notes.md index 0a806576c51..bb351d82b30 100644 --- a/guides/source/ja/5_0_release_notes.md +++ b/guides/source/ja/5_0_release_notes.md @@ -163,10 +163,10 @@ Railties ### 非推奨 -* `config.static_cache_control`を廃止。今後は`config.public_file_server.headers`を使用。 +* `config.static_cache_control`を廃止。今後は`config.public_file_server.headers`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/22173)) -* `config.serve_static_files`を廃止。今後は`config.public_file_server.enabled`を使用。 +* `config.serve_static_files`を廃止。今後は`config.public_file_server.enabled`を ([Pull Request](https://github.com/rails/rails/pull/22173)) * `rails`タスク名前空間のタスクを削除。今後は`app`名前空間が使われる。 @@ -207,7 +207,7 @@ Railties * 新しいアプリケーションでは、IncludeSudomainsヘッダのHSTS(HTTP Strict Transport Security)がデフォルトで有効になる。 ([Pull Request](https://github.com/rails/rails/pull/23852)) -* アプリケーション ジェネレータから、新しく`config/spring.rb`ファイルが出力される。これを使用してSpringの監視対象となる共通ファイルを追加できる。 +* アプリケーション ジェネレータから、新しく`config/spring.rb`ファイルが出力される。これを用いてSpringの監視対象となる共通ファイルを追加できる。 ([commit](https://github.com/rails/rails/commit/b04d07337fd7bc17e88500e9d6bcd361885a45f8)) * 新規アプリケーション生成時にAction Mailerをスキップする`--skip-action-mailer` を追加。 @@ -216,7 +216,7 @@ Railties * `tmp/sessions`ディレクトリと、これに関連するclear rakeタスクを削除。 ([Pull Request](https://github.com/rails/rails/pull/18314)) -* scaffoldジェネレータで生成する`_form.html.erb`を、ローカル変数を使用するように変更。 +* scaffoldジェネレータで生成する`_form.html.erb`を、ローカル変数を使うように変更。 ([Pull Request](https://github.com/rails/rails/pull/13434)) * production環境でクラスの自動読み込みを無効化。 @@ -270,13 +270,13 @@ Action Pack ### 非推奨 -* `*_filter`コールバックをすべて非推奨に指定。今後は`*_action`コールバックを使用。 +* `*_filter`コールバックをすべて非推奨に指定。今後は`*_action`コールバックを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/18410)) * 結合テストメソッド`*_via_redirect`を非推奨に指定。今後同じ動作が必要な場合は、はリクエストの呼出し後に `follow_redirect!`を手動で実行すること。 ([Pull Request](https://github.com/rails/rails/pull/18693)) -* `AbstractController#skip_action_callback`を非推奨に指定。今後は個別のskip_callbackメソッドを使用。 +* `AbstractController#skip_action_callback`を非推奨に指定。今後は個別のskip_callbackメソッドを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/19060)) * `render`メソッドの`:nothing`オプションを非推奨に指定。 @@ -291,10 +291,10 @@ Action Pack * MIMEタイプを定数として利用することを非推奨に指定(`Mime::HTML`など)。今後は「`Mime[:html]`」のように添字演算子内でシンボルを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/21869)) -* `redirect_to :back`を非推奨に指定。今後は`RedirectBackError`を避けるために、`redirect_back`を使用して必須の`fallback_location`引数を受け取ること。 +* `redirect_to :back`を非推奨に指定。今後は`RedirectBackError`を避けるために、`redirect_back`を使って必須の`fallback_location`引数を受け取ること。 ([Pull Request](https://github.com/rails/rails/pull/22506)) -* `ActionDispatch::IntegrationTest`と`ActionController::TestCase`で位置引数(positional argument)を非推奨に指定。今後はキーワード引数を使用。([Pull Request](https://github.com/rails/rails/pull/18323)) +* `ActionDispatch::IntegrationTest`と`ActionController::TestCase`で位置引数(positional argument)を非推奨に指定。今後はキーワード引数を使うこと。([Pull Request](https://github.com/rails/rails/pull/18323)) * パスパラメータ`:controller`と`:action`を非推奨に指定。 ([Pull Request](https://github.com/rails/rails/pull/23980)) @@ -302,7 +302,7 @@ Action Pack * コントローラのインスタンスでのenvメソッドを非推奨に指定。 ([commit](https://github.com/rails/rails/commit/05934d24aff62d66fc62621aa38dae6456e276be)) -* `ActionDispatch::ParamsParser`を非推奨に指定し、ミドルウェアスタックから削除。今後パラメーターパーサーの構成が必要な場合は`ActionDispatch::Request.parameter_parsers=`を使用。 +* `ActionDispatch::ParamsParser`を非推奨に指定し、ミドルウェアスタックから削除。今後パラメーターパーサーの構成が必要な場合は`ActionDispatch::Request.parameter_parsers=`を使うこと。 ([commit](https://github.com/rails/rails/commit/38d2bf5fd1f3e014f2397898d371c339baa627b1), [commit](https://github.com/rails/rails/commit/5ed38014811d4ce6d6f957510b9153938370173b)) ### 主な変更点 @@ -340,7 +340,7 @@ Action Pack * `protect_from_forgery`のprependのデフォルトを`false`に変更。 ([commit](https://github.com/rails/rails/commit/39794037817703575c35a75f1961b01b83791191)) -* `ActionController::TestCase`はRails 5.1で専用gemに移行する予定。今後は`ActionDispatch::IntegrationTest`を使用。 +* `ActionController::TestCase`はRails 5.1で専用gemに移行する予定。今後は`ActionDispatch::IntegrationTest`を使うこと。 ([commit](https://github.com/rails/rails/commit/4414c5d1795e815b102571425974a8b1d46d932d)) * Railsで生成するETagを「強い」ものから「弱い」ものに変更。 @@ -470,7 +470,7 @@ Active Record * 非推奨の`ActiveRecord::Base.disable_implicit_join_references=`を削除。 ([commit](https://github.com/rails/rails/commit/0fbd1fc888ffb8cbe1191193bf86933110693dfc)) -* 文字列アクセサによる接続使用へのアクセス(非推奨)を削除。 +* 文字列アクセサによるコネクション利用へのアクセス(非推奨)を削除。 ([commit](https://github.com/rails/rails/commit/efdc20f36ccc37afbb2705eb9acca76dd8aabd4f)) * インスタンスに依存するプリロード(非推奨)のサポートを削除。 @@ -485,7 +485,7 @@ Active Record * `ActiveRecord::Serialization::XmlSerializer`をコアから削除。この機能は[activemodel-serializers-xml](https://github.com/rails/activemodel-serializers-xml) gemに移行済み。([Pull Request](https://github.com/rails/rails/pull/21161)) -* 古い`mysql`データベースアダプタのサポートをコアから削除。今後は原則として`mysql2`を使用。今後古いアダプタのメンテナンス担当者が決まった場合、アダプタは別のgemに切り出される予定。([Pull Request 1](https://github.com/rails/rails/pull/22642)], [Pull Request 2](https://github.com/rails/rails/pull/22715)) +* 古い`mysql`データベースアダプタのサポートをコアから削除。今後は原則として`mysql2`を使うこと。今後古いアダプタのメンテナンス担当者が決まった場合、アダプタは別のgemに切り出される予定。([Pull Request 1](https://github.com/rails/rails/pull/22642)], [Pull Request 2](https://github.com/rails/rails/pull/22715)) * `protected_attributes` gem のサポートを終了。 ([commit](https://github.com/rails/rails/commit/f4fbc0301021f13ae05c8e941c8efc4ae351fdf9)) @@ -505,22 +505,22 @@ Active Record * `ActiveRecord::Base.errors_in_transactional_callbacks=`を非推奨に指定。 ([commit](https://github.com/rails/rails/commit/07d3d402341e81ada0214f2cb2be1da69eadfe72)) -* `Relation#uniq`を非推奨に指定。今後は`Relation#distinct`を使用。 +* `Relation#uniq`を非推奨に指定。今後は`Relation#distinct`を使うこと。 ([commit](https://github.com/rails/rails/commit/adfab2dcf4003ca564d78d4425566dd2d9cd8b4f)) -* PostgreSQLの`:point` typeを非推奨に指定。今後は`Array`ではなく`Point`オブジェクトを返す新しいtypeを使用。 +* PostgreSQLの`:point` typeを非推奨に指定。今後は`Array`ではなく`Point`オブジェクトを返す新しいtypeを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/20448)) * trueになる引数を関連付け用メソッドに渡して関連付けを強制的に再読み込みする手法を非推奨に指定。 ([Pull Request](https://github.com/rails/rails/pull/20888)) -* 関連付け`restrict_dependent_destroy`エラーのキーを非推奨に指定。今後は新しいキー名を使用。 +* 関連付け`restrict_dependent_destroy`エラーのキーを非推奨に指定。今後は新しいキー名を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/20668)) * `#tables`の動作を統一。 ([Pull Request](https://github.com/rails/rails/pull/21601)) -* `SchemaCache#tables`、`SchemaCache#table_exists?`、`SchemaCache#clear_table_cache!`を非推奨に指定。今後は新しい同等のデータソースを使用。 +* `SchemaCache#tables`、`SchemaCache#table_exists?`、`SchemaCache#clear_table_cache!`を非推奨に指定。今後は新しい同等のデータソースを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/21715)) * SQLite3アダプタとMySQLアダプタの`connection.tables`を非推奨に指定。 @@ -532,14 +532,14 @@ Active Record * `table_exists?`を非推奨に指定。`#table_exists?`メソッドでテーブルとビューが両方チェックされていることがあるため。`#tables`の動作を統一するため、今後`#table_exists?`はテーブルのみをチェックするようになる予定。 ([Pull Request](https://github.com/rails/rails/pull/21601)) -* `find_nth`に`offset`を引数として渡すことを非推奨に指定。今後リレーションでは`offset`メソッドを使用。 +* `find_nth`に`offset`を引数として渡すことを非推奨に指定。今後リレーションでは`offset`メソッドを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/22053)) * `DatabaseStatements`の`{insert|update|delete}_sql`を非推奨に指定。 - 今後は`{insert|update|delete}`パブリックメソッドを使用。 + 今後は`{insert|update|delete}`パブリックメソッドを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/23086)) -* `use_transactional_fixtures`を非推奨に指定。今後はより明瞭な`use_transactional_tests`を使用。 +* `use_transactional_fixtures`を非推奨に指定。今後はより明瞭な`use_transactional_tests`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/19282)) * `ActiveRecord::Connection#quote`にカラムを渡すことを非推奨に指定。 @@ -584,7 +584,7 @@ Active Record * `ActiveRecord::Base.suppress`を追加。指定のブロックを実行中にレシーバーが保存されないようにする。 ([Pull Request](https://github.com/rails/rails/pull/18910)) -* 関連付けが存在しない場合、`belongs_to`でバリデーションエラーが発生するようになった。この機能は関連付けごとに`optional: true`でオフにできる。また、`belongs_to`の`required`オプションも非推奨に指定。今後は`optional`を使用。 +* 関連付けが存在しない場合、`belongs_to`でバリデーションエラーが発生するようになった。この機能は関連付けごとに`optional: true`でオフにできる。また、`belongs_to`の`required`オプションも非推奨に指定。今後は`optional`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/18937)) * `db:structure:dump`の動作を設定する`config.active_record.dump_schemas`を追加。 @@ -640,7 +640,7 @@ config/database.ymlに`prepared_statements: true`と記述することでプリ * `ActiveRecord::Relation#update`を追加。リレーションオブジェクトに対して、そのリレーションにあるすべてのオブジェクトのコールバックでバリデーション(検証)を実行できる。 ([Pull Request](https://github.com/rails/rails/pull/11898)) -* `save`メソッドに`:touch`オプションを追加。タイムスタンプを変更せずにレコードを保存する場合に使用。 +* `save`メソッドに`:touch`オプションを追加。タイムスタンプを変更せずにレコードを保存する場合に使える。 ([Pull Request](https://github.com/rails/rails/pull/18225)) * PostgreSQL向けに式インデックスと演算子クラスのサポートを追加。 @@ -658,7 +658,7 @@ config/database.ymlに`prepared_statements: true`と記述することでプリ * `foreign_key_exists?`メソッドを追加。テーブルに外部キーが存在するかどうかを確認できる。 ([Pull Request](https://github.com/rails/rails/pull/18662)) -* `touch`メソッドに`:time`オプションを追加。レコードに現在時刻以外の時刻を指定する場合に使用。 +* `touch`メソッドに`:time`オプションを追加。レコードに現在時刻以外の時刻を指定する場合に使える。 ([Pull Request](https://github.com/rails/rails/pull/18956)) Active Model @@ -684,7 +684,7 @@ Active Model * `ActiveModel::Errors#get`、`ActiveModel::Errors#set`、`ActiveModel::Errors#[]=`メソッドの動作が一貫していないため、非推奨に指定。 ([Pull Request](https://github.com/rails/rails/pull/18634)) -* `validates_length_of`の`:tokenizer`オプションを非推奨に指定。今後はRubyの純粋な機能を使用。 +* `validates_length_of`の`:tokenizer`オプションを非推奨に指定。今後はRubyの純粋な機能を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/19585)) * `ActiveModel::Errors#add_on_empty`と`ActiveModel::Errors#add_on_blank`を非推奨に指定。置き換え先の機能はなし。 @@ -758,10 +758,10 @@ Active Support ([commit](https://github.com/rails/rails/commit/a3ce6ca30ed0e77496c63781af596b149687b6d7)) * 非推奨の`Class#superclass_delegating_accessor`を削除。 - 今後は`Class#class_attribute`を使用。 + 今後は`Class#class_attribute`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/16938)) -* 非推奨の`ThreadSafe::Cache`を削除。今後は`Concurrent::Map`を使用。 +* 非推奨の`ThreadSafe::Cache`を削除。今後は`Concurrent::Map`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/21679)) * Ruby 2.2 で既に実装されている`Object#itself`を削除。 @@ -769,34 +769,34 @@ Active Support ### 非推奨 -* `MissingSourceFile`を非推奨に指定。今後は`LoadError`を使用。 +* `MissingSourceFile`を非推奨に指定。今後は`LoadError`を使うこと。 ([commit](https://github.com/rails/rails/commit/734d97d2)) -* `alias_method_chain`を非推奨に指定。今後はRuby 2.0 で導入された`Module#prepend`を使用。 +* `alias_method_chain`を非推奨に指定。今後はRuby 2.0 で導入された`Module#prepend`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/19434)) -* `ActiveSupport::Concurrency::Latch`を非推奨に指定。今後はconcurrent-rubyの`Concurrent::CountDownLatch`を使用。 +* `ActiveSupport::Concurrency::Latch`を非推奨に指定。今後はconcurrent-rubyの`Concurrent::CountDownLatch`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/20866)) * `number_to_human_size`の`:prefix`オプションを非推奨に指定。置き換え先はなし。 ([Pull Request](https://github.com/rails/rails/pull/21191)) -* `Module#qualified_const_`を非推奨に指定。今後はビルトインの`Module#const_`メソッドを使用。 +* `Module#qualified_const_`を非推奨に指定。今後はビルトインの`Module#const_`メソッドを使うこと。 ([Pull Request](https://github.com/rails/rails/pull/17845)) * コールバック定義に文字列を渡すことを非推奨に指定。 ([Pull Request](https://github.com/rails/rails/pull/22598)) * `ActiveSupport::Cache::Store#namespaced_key`、`ActiveSupport::Cache::MemCachedStore#escape_key`、`ActiveSupport::Cache::FileStore#key_file_path`を非推奨に指定。 - 今後は`normalize_key`を使用。([Pull Request](https://github.com/rails/rails/pull/22215)、[commit](https://github.com/rails/rails/commit/a8f773b0)) + 今後は`normalize_key`を使うこと。([Pull Request](https://github.com/rails/rails/pull/22215)、[commit](https://github.com/rails/rails/commit/a8f773b0)) -* `ActiveSupport::Cache::LocaleCache#set_cache_value`を非推奨に指定。今後は`write_cache_value`を使用。 +* `ActiveSupport::Cache::LocaleCache#set_cache_value`を非推奨に指定。今後は`write_cache_value`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/22215)) * `assert_nothing_raised`に引数を渡すことを非推奨に指定。 ([Pull Request](https://github.com/rails/rails/pull/23789)) -* `Module.local_constants`を非推奨に指定。今後は`Module.constants(false)`を使用。 +* `Module.local_constants`を非推奨に指定。今後は`Module.constants(false)`を使うこと。 ([Pull Request](https://github.com/rails/rails/pull/23936)) diff --git a/guides/source/ja/5_1_release_notes.md b/guides/source/ja/5_1_release_notes.md index 95c9faed3c8..540d69d1956 100644 --- a/guides/source/ja/5_1_release_notes.md +++ b/guides/source/ja/5_1_release_notes.md @@ -77,7 +77,7 @@ mailer用クラス内の全メソッドで利用する共通のパラメータ def account_invitation mail subject: "#{@inviter.name} invited you to their Basecamp (#{@account.name})" - end + end end InvitationsMailer.with(inviter: person_a, invitee: person_b) @@ -118,11 +118,11 @@ resolve("Basket") { [:basket] } ```ruby direct :commentable do |model| [ model, anchor: model.dom_id ] -end +end direct :main do { controller: 'pages', action: 'index', subdomain: 'www' } -end +end ``` ### form_forとform_tagのform_withへの統合 @@ -424,16 +424,16 @@ Active Record ### 非推奨 -* `error_on_ignored_order_or_limit`フラグを非推奨化: 今後は`error_on_ignored_order`を使用 +* `error_on_ignored_order_or_limit`フラグを非推奨化: 今後は`error_on_ignored_order`を使うこと ([Commit](https://github.com/rails/rails/commit/451437c6f57e66cc7586ec966e530493927098c7)) -* `sanitize_conditions`を非推奨化: 今後は`sanitize_sql`を使用 +* `sanitize_conditions`を非推奨化: 今後は`sanitize_sql`を使うこと ([Pull Request](https://github.com/rails/rails/pull/25999)) * 接続アダプタのDeprecated `supports_migrations?`を非推奨化 ([Pull Request](https://github.com/rails/rails/pull/28172)) -* `Migrator.schema_migrations_table_name`を非推奨化: 今後は,`SchemaMigration.table_name`を使用 +* `Migrator.schema_migrations_table_name`を非推奨化: 今後は,`SchemaMigration.table_name`を使うこと ([Pull Request](https://github.com/rails/rails/pull/28351)) * 引用符追加や型変換で使われていた`#quoted_id`を非推奨化 @@ -534,7 +534,7 @@ Active Support ### 非推奨 -* トップレベルの`HashWithIndifferentAccess`クラスをやや弱めに非推奨化: 今後は`ActiveSupport::HashWithIndifferentAccess`クラスを使用 +* トップレベルの`HashWithIndifferentAccess`クラスをやや弱めに非推奨化: 今後は`ActiveSupport::HashWithIndifferentAccess`クラスを使うこと ([Pull Request](https://github.com/rails/rails/pull/28157)) * `set_callback`や`skip_callback`で`:if`条件オプションや`:unless`条件オプションに文字列を渡すことを非推奨化 diff --git a/guides/source/ja/action_cable_overview.md b/guides/source/ja/action_cable_overview.md index 561a8128b2a..cb044b9e15c 100644 --- a/guides/source/ja/action_cable_overview.md +++ b/guides/source/ja/action_cable_overview.md @@ -92,7 +92,7 @@ end 次に、新しいコネクションを試行すると、このcookieがコネクションのインスタンスに自動で送信され、`current_user`の設定に使われます。現在の同じユーザーによるコネクションが識別されれば、以後そのユーザーが開いているすべてのコネクションを取得することも、ユーザーが削除されたり認証できない場合に切断することも可能になります。 -認証にセッションを含む場合、セッションにcookieストアを使用し、セッションcookieの`_session`とユーザーIDのキーとなる`user_id`を使用するアプローチが使えます。 +認証にセッションを含む場合、セッションにcookieストアを使い、セッションcookieの`_session`とユーザーIDのキーとなる`user_id`を使う方法が利用可能になります。 ```ruby verified_user = User.find_by(id: cookies.encrypted["_session"]["user_id"]) @@ -684,7 +684,7 @@ WARNING: セキュリティ上の影響を完全に理解するまでは、Redis PostgreSQLアダプタはActive Recordコネクションプールを利用するため、アプリケーションのデータベース設定ファイル(`config/database.yml`)でコネクションを設定します。これについては将来変更される可能性があります([#27214](https://github.com/rails/rails/issues/27214))。 -NOTE: PostgreSQLでは、`NOTIFY`(通知を送信するために内部的に使用されるコマンド)に[8000バイトの制限](https://www.postgresql.org/docs/current/sql-notify.html)があり、大きなペイロードを処理するときに制約となる可能性があります。 +NOTE: PostgreSQLでは、`NOTIFY`(通知を送信するために内部的に使われるコマンド)に[8000バイトの制限](https://www.postgresql.org/docs/current/sql-notify.html)があり、大きなペイロードを処理するときに制約となる可能性があります。 ### 許可されたリクエスト送信元 diff --git a/guides/source/ja/active_model_basics.md b/guides/source/ja/active_model_basics.md index f8b5a7a2ee6..3033c6ee676 100644 --- a/guides/source/ja/active_model_basics.md +++ b/guides/source/ja/active_model_basics.md @@ -1191,7 +1191,7 @@ class Person end ``` -`human_attribute_name`メソッドを使用すると、属性名を人間が読みやすい形式に変換できます。人間用のフォーマットはロケールファイルで定義されます。 +`human_attribute_name`メソッドを使えば、属性名を人間が読みやすい形式に変換できます。人間用のフォーマットはロケールファイルで定義されます。 ```yaml # config/locales/app.pt-BR.yml diff --git a/guides/source/ja/active_record_postgresql.md b/guides/source/ja/active_record_postgresql.md index 5a08c0cf842..47c8cfac0f9 100644 --- a/guides/source/ja/active_record_postgresql.md +++ b/guides/source/ja/active_record_postgresql.md @@ -329,7 +329,7 @@ irb> article.status = "deleted" ArgumentError: 'deleted' is not a valid status ``` -enumの名前をリネームするには、`rename_enum`を利用して、モデルの使用方法も更新します。 +`rename_enum`を使うとenumの名前をリネームできます。リネーム後にモデルでのenumの利用方法も更新する必要があります。 ```ruby # db/migrate/20150718144917_rename_article_status.rb diff --git a/guides/source/ja/active_record_querying.md b/guides/source/ja/active_record_querying.md index 400eb74526b..34cb40ed00f 100644 --- a/guides/source/ja/active_record_querying.md +++ b/guides/source/ja/active_record_querying.md @@ -717,15 +717,15 @@ Book.where("created_at >= :start_date AND created_at <= :end_date", #### 条件で`LIKE`を使う -引数はSQLインジェクションを防ぐために自動的にエスケープされますが、SQL `LIKE`ワイルドカード(つまり、`%`と`_`)はエスケープ**されません**。引数にサニタイズされていない値が使用されている場合、予期しない動作となることがあります。例えば: +引数はSQLインジェクションを防ぐために自動的にエスケープされますが、SQL `LIKE`ワイルドカード(つまり、`%`と`_`)はエスケープ**されません**。引数にサニタイズされていない値が使われている場合、予期しない動作となることがあります。例えば: ```ruby Book.where("title LIKE ?", params[:title] + "%") ``` -上の例は、ユーザーが指定した文字列で始まるタイトルに一致することを意図しています。しかし、`params[:title]`に含まれる`%`または`_`はワイルドカードとして扱われるため、意外な結果をもたらします。状況によっては、データベースがインデックスを使用できなくなるため、クエリが大幅に遅くなる可能性があります。 +上の例は、ユーザーが指定した文字列で始まるタイトルに一致することを意図しています。しかし、`params[:title]`に含まれる`%`または`_`はワイルドカードとして扱われるため、意外な結果をもたらします。状況によっては、データベースがインデックスを利用できなくなるため、クエリが大幅に遅くなる可能性があります。 -これらの問題を回避するには、[`sanitize_sql_like`][]を使用して関連する引数のワイルドカード文字をエスケープします。 +これらの問題を回避するには、関連する引数のワイルドカード文字を[`sanitize_sql_like`][]でエスケープします。 ```ruby Book.where("title LIKE ?", @@ -1691,7 +1691,7 @@ Customer.includes(orders: { books: [:supplier, :author] }).find(1) #### 関連付けのeager loadingで条件を指定する -Active Recordでは、eager loadingされた関連付けに対して、`joins`のように条件を指定可能ですが、このやり方よりも[joins](#テーブルを結合する)の使用を推奨します。 +Active Recordでは、eager loadingされた関連付けに対して、`joins`のように条件を指定可能ですが、このやり方よりも[joins](#テーブルを結合する)を使うことをオススメします。 とはいえ、eager loadingされた関連付けに対して条件を指定せざるを得ない場合は、以下のように普通にwhereを使っても大丈夫です。 @@ -2631,7 +2631,7 @@ EXPLAIN SELECT "customers".* FROM "customers" INNER JOIN "orders" ON "orders"."c (7 rows) ``` -eager loadingを使用している場合、内部的には複数のクエリがトリガされることがあり、このとき一部のクエリが先行するクエリの結果を必要とすることがあります。このためexplainは、このクエリを実際に実行した後で、クエリプランを要求します。以下に例を示します。 +eager loadingを使うと、内部的には複数のクエリがトリガされることがあり、このとき一部のクエリが先行するクエリの結果を必要とすることがあります。このためexplainは、このクエリを実際に実行した後で、クエリプランを要求します。以下に例を示します。 ```ruby Customer.where(id: 1).includes(:orders).explain diff --git a/guides/source/ja/association_basics.md b/guides/source/ja/association_basics.md index 794ddfc396d..ff81b5a2f48 100644 --- a/guides/source/ja/association_basics.md +++ b/guides/source/ja/association_basics.md @@ -1644,7 +1644,7 @@ Entry.create! entryable: Message.new(subject: "hello!") ### さらに委譲を追加する -`Entry`デリゲータを拡張して`delegates`を定義し、サブクラスに対してポリモーフィズムを使用することで、さらに拡張できます。 +`Entry`デリゲータを拡張して`delegates`を定義し、サブクラスに対してポリモーフィズムを使うことで、さらに拡張できます。 たとえば、`Entry`の`title`メソッドをそのサブクラスに委譲するには以下のようにします。 diff --git a/guides/source/ja/autoloading_and_reloading_constants.md b/guides/source/ja/autoloading_and_reloading_constants.md index ffd7762dab7..16f39f37c48 100644 --- a/guides/source/ja/autoloading_and_reloading_constants.md +++ b/guides/source/ja/autoloading_and_reloading_constants.md @@ -205,7 +205,7 @@ INFO: 技術的には、`once`オートローダーによって管理される `config.autoload_lib_once`を呼び出すことで、`lib`内のクラスやモジュールが自動的に読み込まれます。アプリケーションの初期化時でも再読み込みは行われません。 -`config.autoload_lib_once`は7.1以前では利用できませんが、アプリケーションがZeitwerkを使用している限り、エミュレーションは可能です。 +`config.autoload_lib_once`は7.1以前では利用できませんが、アプリケーションがZeitwerkを使っている限り、エミュレーションは可能です。 ```ruby # config/application.rb @@ -291,7 +291,7 @@ end ただし、`main`オートローダが管理している自動読み込みパスからの自動読み込みはできません。これは、`config/initializers`にあるコードや、アプリケーションやエンジンのイニシャライズについても同様です。 -イニシャライザーは、アプリケーションの起動時に一度だけ実行されます。再読み込み時に再度実行されることはありません。もしイニシャライザがリロード可能なクラスやモジュールを使用していた場合、それらに対する編集はその初期コードに反映されないため、古くさくなってしまいます。したがって、初期化時にリロード可能な定数を参照することは禁止されています。 +イニシャライザーは、アプリケーションの起動時に一度だけ実行されます。再読み込み時に再度実行されることはありません。イニシャライザがリロード可能なクラスやモジュールを使っている場合、それらに対する編集はその初期コードに反映されないため、古くなってしまいます。したがって、初期化時にリロード可能な定数を参照することは禁止されています。 その理由は、イニシャライザはアプリケーション起動時に1度しか実行されないためです。再読み込み時に再実行されることはありません。イニシャライザが再読み込み可能なクラスやモジュールを利用している場合、それらを編集しても初期コードに反映されないため、古くなってしまいます。この理由により、初期化時に再読み込み可能な定数を参照することは禁止されています。 diff --git a/guides/source/ja/configuring.md b/guides/source/ja/configuring.md index b43b7efc87a..11defa9328b 100644 --- a/guides/source/ja/configuring.md +++ b/guides/source/ja/configuring.md @@ -255,8 +255,8 @@ Rails全般に対する設定を行うには、`Rails::Railtie`オブジェク #### `config.add_autoload_paths_to_load_path` 自動読み込みパスを`$LOAD_PATH`に追加しなければならないかどうかを指定します。`zeitwerk`モードでは`config/application.rb`で`false` に設定することが推奨されます。 -Zeitwerkは内部的に絶対パスを使用し、`:zeitwerk`モードで動作するアプリケーションには `require_dependency`が不要なので、モデル、コントローラ、ジョブなどは`$LOAD_PATH`に入れておく必要がありません。 -これを`false`に設定すると、Ruby が相対パスで`require`呼び出しを解決する際にこれらのディレクトリをチェックする必要がなくなり、Bootsnapの作業とメモリを節約できます。 +Zeitwerkは内部的に絶対パスを使っており、`:zeitwerk`モードで動作するアプリケーションには`require_dependency`が不要なので、モデル、コントローラ、ジョブなどは`$LOAD_PATH`に入れておく必要がありません。 +これを`false`に設定すると、Rubyが相対パスで`require`呼び出しを解決する際にこれらのディレクトリをチェックする必要がなくなり、Bootsnapの作業とメモリを節約できます。 デフォルト値は、`config.load_defaults`のターゲットバージョンによって異なります。 @@ -1338,7 +1338,7 @@ Active Recordで楽観的ロック(optimistic locking)を使うかどうか `7.1`に設定すると、Active Recordインスタンスを`Marshal.dump`でより効率的にシリアライズ可能になります。 これによりシリアライズ形式が変更されるため、この方法でシリアライズされたモデルは古いバージョンのRails(< 7.1)では読み込めなくなります。 -ただし、この最適化が有効かどうかにかかわらず、古い形式を使用するメッセージは引き続き読み込めます。 +ただし、この最適化が有効かどうかにかかわらず、古い形式が使われているメッセージは引き続き読み込めます。 | バージョン | デフォルト値 | | --------------------- | -------------------- | @@ -1644,7 +1644,7 @@ record.token # => "fwZcXX6SkJBJRogzMdciS7wf" `ActiveRecord::Base.connection`の振る舞いを、「エラーを発生」「非推奨警告を表示」「どちらも行わない」のどれにするかを制御します。 -`ActiveRecord::Base.connection`は、プールからデータベースコネクションをチェックアウトし、リクエストやジョブの終了までリースされた状態にします。この振る舞いは、使用可能なコネクション数よりも多くのスレッドまたはファイバーを利用する環境では望ましくない場合があります。 +`ActiveRecord::Base.connection`は、プールからデータベースコネクションをチェックアウトし、リクエストやジョブの終了までリースされた状態にします。この振る舞いは、利用可能なコネクション数よりも多くのスレッドまたはファイバーを用いる環境では望ましくない場合があります。 この設定を使うことで、`ActiveRecord::Base.connection`を呼び出すコードをトラッキングして削除し、代わりに`ActiveRecord::Base.with_connection`を利用する形に移行できます。 @@ -1656,7 +1656,7 @@ record.token # => "fwZcXX6SkJBJRogzMdciS7wf" #### `config.active_record.database_cli` -`rails dbconsole`を実行するときにデータベースへのアクセスに利用するCLIツールを制御します。デフォルトでは、データベースの標準ツールが使用されます(例: PostgreSQLの場合は`psql`、MySQLの場合は`mysql`)。このオプションは、データベースシステムごとにツールを指定するハッシュを受け取り、フォールバックオプションが必要な場合は配列を渡せます。 +`rails dbconsole`を実行するときにデータベースへのアクセスに利用するCLIツールを制御します。デフォルトでは、データベースの標準ツールが使われます(例: PostgreSQLの場合は`psql`、MySQLの場合は`mysql`)。このオプションは、データベースシステムごとにツールを指定するハッシュを受け取り、フォールバックオプションが必要な場合は配列を渡せます。 ```ruby # config/application.rb @@ -2598,7 +2598,7 @@ config.active_support.message_serializer = YAML #### `config.active_support.use_message_serializer_for_metadata` `true`に設定すると、メッセージデータとメタデータを一緒にシリアライズするときのパフォーマンスの最適化を有効にします。これによりメッセージのフォーマットが変更されるため、この方法でシリアライズされたモデルは古いバージョンのRails(< 7.1)では読み込めなくなります。 -ただし、この最適化が有効かどうかにかかわらず、古い形式を使用するメッセージは引き続き読み込めます。 +ただし、この最適化が有効かどうかにかかわらず、古い形式を使っているメッセージも引き続き読み込めます。 デフォルト値は、`config.load_defaults`のターゲットバージョンによって異なります。 diff --git a/guides/source/ja/constant_autoloading_and_reloading.md b/guides/source/ja/constant_autoloading_and_reloading.md index 63cf964b006..e76fdefc235 100644 --- a/guides/source/ja/constant_autoloading_and_reloading.md +++ b/guides/source/ja/constant_autoloading_and_reloading.md @@ -5,7 +5,7 @@ このガイドの内容: -* Rubyで使用される定数の重要な点 +* Rubyで使われる定数の重要な点 * `autoload_paths`について * 定数が自動読み込みされる仕組み * `require_dependency`について @@ -69,7 +69,7 @@ module XML end ``` -ある場所における*ネスト*とは、ネストしたクラスおよびモジュールオブジェクトをネストの内側のものから順に並べたコレクションとなります(訳注: Ruby内のある場所のネストを調べるには`Module.nesting`を使用します)。前述の例における(1)の位置のネストは以下のようになります。 +ある場所における*ネスト*とは、ネストしたクラスおよびモジュールオブジェクトをネストの内側のものから順に並べたコレクションとなります(訳注: Ruby内のある場所のネストを調べるには`Module.nesting`を使います)。前述の例における(1)の位置のネストは以下のようになります。 ```ruby [XML::SAXParser, XML] @@ -125,9 +125,9 @@ end * `Kernel#load`によって解釈されるコードのトップレベルにあるネストは空になる。ただし`load`呼び出しが第2引数としてtrueという値を受け取る場合を除く。この値が指定されると、無名モジュールが新たに作成されてRubyによってスタックにプッシュされる。 -ここで興味深いのは、ブロックがスタックに何の影響も与えないという事実です。特に、`Class.new`や`Module.new`に渡される可能性のあるブロックは、`new`メソッドによって定義されるクラスやモジュールをネストにプッシュしません。この点が、ブロックを使用せずに何らかの形でクラスやモジュールを定義する場合と異なる点の一つです。 +ここで興味深いのは、ブロックがスタックに何の影響も与えないという事実です。特に、`Class.new`や`Module.new`に渡される可能性のあるブロックは、`new`メソッドによって定義されるクラスやモジュールをネストにプッシュしません。この点が、ブロックを使わずに何らかの形でクラスやモジュールを定義する場合と異なる点の一つです。 -`Module.nesting`を使用することで、任意の位置にあるネストを検査 (inspect) することができます。 +`Module.nesting`を使うことで、任意の位置にあるネストを検査 (inspect) できます。 ### クラスやモジュールの定義とは定数への代入のこと @@ -182,7 +182,7 @@ Admin = Module.new Admin.name # => "Admin" ``` -WARNING: `Class.new`や`Module.new`に渡されるブロックの実行コンテキストは、`class`および`module`キーワードを使用する定義の本文の実行コンテキストと完全に同等ではないことがあります。しかし定数代入はどちらのイディオムを使用した場合にも同様に行われます。 +WARNING: `Class.new`や`Module.new`に渡されるブロックの実行コンテキストは、`class`や`module`キーワードを使っている定義の本文の実行コンテキストと完全に同等ではないことがあります。しかし定数代入はどちらのイディオムを使う場合にも同様に行われます。 何かが非公式に "`String`クラス" と呼ばれる場合、その本当の意味はこういうことです。"`String`クラス" とは、`Object`という定数があり、その中にクラスオブジェクトが保存されていて、さらにその中に"String"と呼ばれる定数があり、さらにその中に保存されているクラスオブジェクトのことなのです。そうでなければ、`String`はRubyのありふれた定数であり、解決アルゴリズムなどそれに関連するあらゆるものがこの`String`という定数に適用されます。 @@ -268,7 +268,7 @@ Railsの自動読み込みは**このアルゴリズムをエミュレートし ### 親の名前空間 -定数パスで与えられた文字列を使用して、*親の名前空間* (parent namespace) が定義されます。親の名前空間は、定数パスからその右端のセグメントのみを除去した文字列になります。 +定数パスで与えられた文字列を使うと、*親の名前空間* (parent namespace) が定義されます。親の名前空間は、定数パスからその右端のセグメントのみを除去した文字列になります。 たとえば、"A::B::C" という文字列の親の名前空間は "A::B" という文字列となり、"A::B" という文字列の親の名前空間は "A" となり、"A" という文字列の親の名前空間は "" となります。 @@ -288,11 +288,11 @@ Railsの自動読み込みは**このアルゴリズムをエミュレートし ### 読み込みのメカニズム -`config.cache_classes`がfalseに設定されていると、`Kernel#load`を使用して読み込みが行われます。これはdevelopmentモードにおけるデフォルトの設定です。他方、`Kernel#require`を使用する読み込みは、productionモードにおけるデフォルトの設定です。 +`config.cache_classes`がfalseに設定されていると、`Kernel#load`を用いて読み込みが行われます。これはdevelopmentモードにおけるデフォルトの設定です。他方、`Kernel#require`を使う読み込みは、productionモードにおけるデフォルトの設定です。 -[定数の再読み込み](#定数の再読み込み)が有効になっていると、`Kernel#load`が使用され、ファイルを繰り返し読み込めるようになります。 +[定数の再読み込み](#定数の再読み込み)が有効になっていると、`Kernel#load`が使われ、ファイルを繰り返し読み込めるようになります。 -本章では「読み込み」(load)という言葉を、指定されたファイルがRailsによって解釈されるという程度の緩やかな意味で使用していますが、実際のメカニズムとしてはフラグに応じて`Kernel#load`や`Kernel#require`が使用されます。 +本章では「読み込み」(load)という言葉を、指定されたファイルがRailsによって解釈されるという程度の緩やかな意味で用いていますが、実際のメカニズムとしてはフラグに応じて`Kernel#load`や`Kernel#require`が使われます。 自動読み込みが可能となる状況 @@ -378,7 +378,7 @@ class PostsController < ApplicationController end ``` -上のコードで使用されている3つの定数はすべて相対参照されています。 +上のコードで使われている3つの定数はすべて相対参照されています。 #### `class`および`module`キーワードの後に置かれる定数 @@ -514,7 +514,7 @@ end しかし、自動読み込みは要求に応じて発生するものです。その時点でたまたまトップレベルの`User`が読み込まれていなければ、Railsはこのヒューリスティックに従って定数を相対参照であると仮定します。 -このような名前の競合は実際にはめったに発生しませんが、もし発生した場合は、`require_dependency`を使用して、競合の発生する場所でこのヒューリスティックを発動する必要のある定数が定義されるようにできます。 +このような名前の競合は実際にはめったに発生しませんが、もし発生した場合は、`require_dependency`を使うことで、競合の発生する場所でこのヒューリスティックを発動する必要のある定数が定義されるようにできます。 ### 自動モジュール @@ -589,7 +589,7 @@ require_dependency 定数の自動読み込みは必要に応じて自動的に行なわれるので、利用の際に定義済みである定数もあれば自動読み込みをトリガーする定数もあり、その動作は一定ではありません。自動読み込みは実行パスに依存しますが、実行パスはアプリケーションの実行中に変わることもありますのでやはり一定ではありません。 -しかし、こうした定数の動作を確定させたくなることもしばしばあります。特定のコードを実行する時にそこにある定数が既知となるようにし、自動読み込みが発生しないようにできないものでしょうか。このような場合には`require_dependency`を使用します。これはその時点での[読み込みのメカニズム](#読み込みのメカニズム)を使用してファイルを読み込むことができ、必要に応じてそのファイルで定義されている定数をあたかも事前に読み込み済みであるかのように追跡することもできます。 +しかし、こうした定数の動作を確定させたくなることもしばしばあります。特定のコードを実行する時にそこにある定数が既知となるようにし、自動読み込みが発生しないようにできないものでしょうか。このような場合には`require_dependency`をお使いください。これはその時点での[読み込みのメカニズム](#読み込みのメカニズム)を用いてファイルを読み込み可能になり、必要に応じてそのファイルで定義されている定数をあたかも事前に読み込み済みであるかのようにトラッキングすることも可能になります。 `require_dependency`が必要になることはめったにありませんが、[自動読み込みとSTI](#%E8%87%AA%E5%8B%95%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%A8sti)や[定数がトリガーされない場合](#定数がトリガーされない場合)でいくつかの実例を参照できます。 @@ -601,7 +601,7 @@ WARNING: `require_dependency`は自動読み込みと異なり、そのファイ `config.cache_classes`がfalseの場合、Railsは自動読み込み済みの定数を再読み込みできるようになります。 -たとえば、Railsのコンソールセッションを開いている状態で、いくつかのファイルがバックグラウンドで更新された場合、`reload!`コマンドを使用して定数を再読み込みできます。 +たとえば、Railsのコンソールセッションを開いている状態で、いくつかのファイルがバックグラウンドで更新された場合、`reload!`コマンドで定数を再読み込みできます。 ```bash > reload! @@ -629,18 +629,17 @@ Module#autoloadが関与しない場合 `Module#autoload`は定数の遅延読み込み機能を提供します。この機能はRubyの定数探索アルゴリズムや動的定数APIなどと完全に統合されています。この動作はきわめて透過的です。 -Rails内部では、ブートプロセス以後の作業を可能な限り遅延するためにこの機能が広く使用されています。ただし、Railsの定数自動読み込みでは`Module#autoload`を使用して実装されているわけでは**ありません**。 +Rails内部では、ブートプロセス以後の作業を可能な限り遅延するためにこの機能が広く使われています。ただし、Railsの定数自動読み込みでは`Module#autoload`を用いて実装されているわけでは**ありません**。 -実装で`Module#autoload`を使用するのであれば、たとえばアプリケーションのツリーをすべてスキャンし、既存のファイル名と従来の定数名を関連付けるために`autoload`を呼び出すという方法が考えられます。 +実装で`Module#autoload`を使うのであれば、たとえばアプリケーションのツリーをすべてスキャンし、既存のファイル名と従来の定数名を関連付けるために`autoload`を呼び出すという方法が考えられます。 Railsでこのような実装を避けているのにはいくつかの理由があります。 -たとえば、`Module#autoload`は`require`を使用するファイル読み込みしか行えないため、再読み込みには利用できないことがあります。しかも、このモジュールの内部では`Kernel#require`とは別の`require`が使用されています。 +たとえば、`Module#autoload`は`require`によるファイル読み込みしか行えないため、再読み込みには利用できないことがあります。しかも、このモジュールの内部では`Kernel#require`とは別の`require`が使われています。 そのため、このモジュールではファイルが削除された場合にその宣言を削除する方法が提供されていません。定数を`Module#remove_const`で削除すると、以後`autoload`がトリガーされなくなってしまいます。また、このモジュールでは修飾名がサポートされていません。アプリケーションのツリーをスキャンして個別の`autoload`呼び出しをインストールする際に名前空間を解釈する必要がありますが、それらのファイルの定数参照がその時点でまだ構成されていない可能性があります。 -`Module#autoload`を使用して素直に自動読み込みを実装できればよいのですが、上述のとおり現時点では不可能です。実際にはRailsの定数自動読み込みは`Module#const_missing`を使用して実装されています。そのような独自の用法がある理由は本章で述べているとおりです。 - +自動読み込みを`Module#autoload`で素直に実装できればよいのですが、上述のとおり現時点では不可能です。実際にはRailsの定数自動読み込みは`Module#const_missing`で実装されています。そのような独自の用法がある理由は本章で述べているとおりです。 よくある落とし穴 -------------- @@ -673,7 +672,7 @@ Rubyは`User`を解決するために、1番目の例では`Admin`をチェッ 残念ながら、Railsの自動読み込みはこの定数が見つからない箇所でネストが発生しているかどうかを認識しないので、通常のRubyと同じように振る舞うことができません。特に`Admin::User`はどちらの場合にも自動読み込みされます。 -`class`キーワードや`module`キーワードの修飾済み定数は自動読み込みのいくつかのケースで動作することもありますが、修飾済み定数よりも以下のように相対定数を使用することをお勧めします。 +`class`キーワードや`module`キーワードの修飾済み定数は自動読み込みのいくつかのケースで動作することもありますが、修飾済み定数よりも以下のように相対定数を使うことをオススメします。 ```ruby module Admin @@ -709,7 +708,7 @@ end 種類は必要に応じて自動読み込みされます。たとえば、`Polygon.first`の結果が四角形 (rectangle) であり、`Rectangle`がその時点で読み込まれていなければ、Active Recordによって`Rectangle`が読み込まれ、そのレコードは正しくインスタンス化されます。 -ここまでは何の問題もありません。しかし、ルートクラスに基づいたクエリではなく、何らかのサブクラスを使用しなければならない場合には事情が異なってきます。 +ここまでは何の問題もありません。しかし、ルートクラスに基づいたクエリではなく、何らかのサブクラスを使わなければならない場合には事情が異なってきます。 `Polygon`に対して操作を行なうのであれば、テーブル内のすべてのエントリはpolygonとして定義されているので、どの子孫についても特別な配慮は必要はありません。しかし`Polygon`のサブクラスに対して操作を行う場合、Active Recordが探索しようとしている種類をそのサブクラスで列挙可能である必要があります。以下の例で考察してみましょう。 @@ -775,7 +774,7 @@ end 2. この`require`が最初に実行されると、Railsは`User`を自動読み込み済み定数としてマーキングしないので、`app/models/user.rb`の変更は再読み込みされなくなってしまいます。 -フローに従って、「常に」定数の自動読み込みを使用してください。自動読み込みと`require`は決して併用してはいけません。やむを得ない事情から、ファイルに特定のファイルをどうしても読み込んでおきたい場合は、最後の手段として、`require_dependency`を使用して定数の自動読み込みと調和させてください。このオプションが実際に必要になることはほぼないはずです。 +フローに従って、「常に」定数の自動読み込みをお使いください。自動読み込みと`require`は決して併用してはいけません。やむを得ない事情から、ファイルに特定のファイルをどうしても読み込んでおきたい場合は、最後の手段として、`require_dependency`で定数の自動読み込みと調和させてください。このオプションが実際に必要になることはほぼないはずです。 もちろん、通常のサードパーティのライブラリについては、自動読み込みされるファイルの中で`require`で読み込んでも問題ありません。Railsはサードパーティのライブラリの定数を区別するので、これらは自動読み込みの対象としてマークされません。 @@ -791,10 +790,10 @@ else end ``` -この設定の目的は、`AUTH_SERVICE`で示される環境に対応するクラスをRailsアプリケーションから使用できるようにすることです。developmentモードでは、イニシャライザ実行時に`MockedAuthService`が自動読み込みされます。ここで、アプリケーションでいくつかのリクエストを処理した後、実装に変更を加え、再度アプリケーションにアクセスしたとしましょう。 +この設定の目的は、`AUTH_SERVICE`で示される環境に対応するクラスをRailsアプリケーションから利用可能にすることです。developmentモードでは、イニシャライザ実行時に`MockedAuthService`が自動読み込みされます。ここで、アプリケーションでいくつかのリクエストを処理した後、実装に変更を加え、再度アプリケーションにアクセスしたとしましょう。 驚くことに、変更したはずの実装が反映されていません。これはどういうことなのでしょう。 -[前述](#定数の再読み込み)のとおり、自動読み込みされた定数はRailsによって削除されるのですが、`AUTH_SERVICE`には元のクラスオブジェクトが保存されています。このオブジェクトは最新の状態ではなくなっており、元の定数を使用してアクセスすることはできなくなっていますが、完全に機能します。 +[前述](#定数の再読み込み)のとおり、自動読み込みされた定数はRailsによって削除されるのですが、`AUTH_SERVICE`には元のクラスオブジェクトが保存されています。このオブジェクトは最新の状態ではなくなっており、元の定数を用いるアクセスはできなくなっていますが、完全に機能します。 以下のコードはこの状況をまとめたものです。 @@ -831,17 +830,17 @@ class AuthService end ``` -さらにアプリケーションで`AuthService.instance`を代わりに使用するという方法があります。`AuthService`は必要に応じて読み込まれ、自動読み込みとよく調和します。 +さらにアプリケーションで`AuthService.instance`を代わりに使うという方法があります。`AuthService`は必要に応じて読み込まれ、自動読み込みとよく調和します。 ### `require_dependency`とイニシャライザ 前述のとおり、`require_dependency`は自動読み込みと調和するようにファイルを読み込みます。しかし、このような呼び出しはイニシャライザ内では意味がないのが普通です。 -イニシャライザ内で[`require_dependency`](#require-dependency)呼び出しを使用することで、たとえば[自動読み込みとSTI](#%E8%87%AA%E5%8B%95%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%A8sti)の問題を修正しようとしたときと同様に特定の定数を確実に事前読み込みできます。 +イニシャライザ内で[`require_dependency`](#require-dependency)呼び出しを使うことで、たとえば[自動読み込みとSTI](#%E8%87%AA%E5%8B%95%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%A8sti)の問題を修正しようとしたときと同様に特定の定数を確実に事前読み込みできます。 この方法の問題は、developmentモードでは、関連する変更がファイルシステム上で生じていなかった場合に[自動読み込みされた定数が完全にクリーンアップされてしまう](#定数の再読み込み)という点です。イニシャライザでのこのような定数の完全削除はぜひとも避けたいところです。 -自動読み込みが行われる箇所で`require_dependency`を使用する場合は、十分戦略を練っておく必要があります。 +自動読み込みが行われる箇所で`require_dependency`を使う場合は、十分戦略を練っておく必要があります。 ### 定数がトリガーされない場合 @@ -890,7 +889,7 @@ module BellX1 end ``` -以下のように`require_dependency`を使用して解決することもできます。 +以下のように`require_dependency`で解決することも可能です。 ```ruby require_dependency 'bell_x1/flight_model' @@ -933,9 +932,9 @@ $ bin/rails r 'Image; p Hotel::Image' 2>/dev/null Image # これはHotel::Imageではない ``` -`Hotel::Image`を評価するコードは、(おそらく`require_dependency`を使用して) `app/models/hotel/image.rb`を事前に読み込み済みの状態にしておく必要があります。 +`Hotel::Image`を評価するコードは、(おそらく`require_dependency`を用いて) `app/models/hotel/image.rb`を事前に読み込み済みの状態にしておく必要があります。 -ただしこの方法を使用する場合、Rubyインタプリタは以下のような警告を出力します。 +ただしこの方法を使う場合、Rubyインタプリタは以下のような警告を出力します。 ``` warning: toplevel constant Image referenced by Hotel::Image @@ -1020,7 +1019,7 @@ c.user # NameError: uninitialized constant C::User これは、親の名前空間に既に定数が存在していることが検出されたためです。([修飾済み参照](#%E8%87%AA%E5%8B%95%E8%AA%AD%E3%81%BF%E8%BE%BC%E3%81%BF%E3%81%AE%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0-%E4%BF%AE%E9%A3%BE%E6%B8%88%E3%81%BF%E5%8F%82%E7%85%A7)を参照) -純粋なRubyの場合と同様、`BasicObject`の直系の子孫オブジェクトの中では常に絶対定数パスを使用してください。 +純粋なRubyの場合と同様、`BasicObject`の直系の子孫オブジェクトの中では常に絶対定数パスをお使いください。 ```ruby class C < BasicObject diff --git a/guides/source/ja/documents.yaml b/guides/source/ja/documents.yaml index 4aa577f48cf..a8923b2a917 100644 --- a/guides/source/ja/documents.yaml +++ b/guides/source/ja/documents.yaml @@ -20,7 +20,7 @@ - name: Active Record マイグレーション url: active_record_migrations.html - description: Active Recordのマイグレーション (migration) を使用して、データベースを構造化された方法で整然と変更する方法について解説します。 + description: Active Recordのマイグレーション (migration) を使って、データベースを構造化された方法で整然と変更する方法について解説します。 - name: Active Record バリデーション url: active_record_validations.html @@ -51,7 +51,7 @@ - name: レイアウトとレンダリング url: layouts_and_rendering.html - description: Action ControllerとAction Viewが提供する基本的なレイアウト機能について解説します。画面出力 (レンダリング) とリダイレクト、content_forブロックとパーシャル (部分テンプレート) の使用方法についても解説します。 + description: Action ControllerとAction Viewが提供する基本的なレイアウト機能について解説します。画面出力 (レンダリング) とリダイレクト、content_forブロックとパーシャル (部分テンプレート) の利用方法についても解説します。 - name: Action View ヘルパー url: action_view_helpers.html @@ -81,7 +81,7 @@ - name: Action Mailer の基礎 url: action_mailer_basics.html - description: Action Mailerを使用してメールを送受信する方法について解説します。 + description: Action Mailerを使ってメールを送受信する方法について解説します。 - name: Action Mailbox の基礎 url: action_mailbox_basics.html diff --git a/guides/source/ja/maintenance_policy.md b/guides/source/ja/maintenance_policy.md index e1dba8125b8..008319464d1 100644 --- a/guides/source/ja/maintenance_policy.md +++ b/guides/source/ja/maintenance_policy.md @@ -36,7 +36,7 @@ Railsのバージョン命名は[semver](http://semver.org/)のSemantic Versioni バグ修正は通常、mainブランチに追加されます。十分なニーズがある場合は、最新リリースシリーズのx-y-stable(X.Y安定版)ブランチにバックポートされます。x-y-stableブランチに十分なバグ修正が追加されると、そのブランチから新しいパッチリリースをビルドします。 たとえば、仮に1.2.2のパッチリリースがあるとするならば、1-2-stableブランチからビルドされます。 -サポート対象外のシリーズでは、バグフィックスがたまたまstable(安定版)ブランチに入ることがありますが、正式版としてリリースされることはありません。サポート対象外のバージョンでは、Gitを使用してアプリケーションをstableブランチに向けることを推奨します。 +サポート対象外のシリーズでは、バグフィックスがたまたまstable(安定版)ブランチに入ることがありますが、正式版としてリリースされることはありません。サポート対象外のバージョンでは、Gitを使ってアプリケーションをstableブランチに向けることを推奨します。 セキュリティ問題 --------------- @@ -56,7 +56,7 @@ NOTE: 訳注:[2024年8月に更新](https://github.com/rails/rails/pull/52471) サポート終了となるリリースシリーズ -------------------------- -あるリリースシリーズのサポートが終了した場合、バグ修正とセキュリティ問題の対応は各自の責任で行ってください。場合によっては修正のバックポートの提供とマージが行われる可能性もありますが、新バージョンがリリースされることはありません。Gitを使用してアプリケーションをstableブランチに向けることを推奨します。アプリケーションで使われているバージョンのメンテナンスが難しい場合は、サポート対象のバージョンにアップグレードしてください。 +あるリリースシリーズのサポートが終了した場合、バグ修正とセキュリティ問題の対応は各自の責任で行ってください。場合によっては修正のバックポートの提供とマージが行われる可能性もありますが、新バージョンがリリースされることはありません。Gitを使ってアプリケーションをstableブランチに向けることが推奨されます。アプリケーションで使われているバージョンのメンテナンスが難しい場合は、サポート対象のバージョンにアップグレードしてください。 リリースのスケジュール ---------------- diff --git a/guides/source/ja/plugins.md b/guides/source/ja/plugins.md index d8b97b692f4..cd1da1a7b86 100644 --- a/guides/source/ja/plugins.md +++ b/guides/source/ja/plugins.md @@ -31,7 +31,7 @@ Railsのプラグインは**gem化**されています。gem形式を採用し ### gem形式のプラグインを生成する -RailsにはあらゆるRails拡張機能の開発用スケルトンを作成する`rails plugin new`というコマンドが用意されています。これで作成したスケルトンはダミーのRailsアプリケーションを使用して結合テストを実行することもできます。プラグインを作成するには以下のコマンドを実行します。 +RailsにはあらゆるRails拡張機能の開発用スケルトンを作成する`rails plugin new`というコマンドが用意されています。これで作成したスケルトンはダミーのRailsアプリケーションを利用して結合テストを実行することも可能になります。プラグインを作成するには以下のコマンドを実行します。 ```bash $ rails plugin new yaffle diff --git a/guides/source/ja/tuning_performance_for_deployment.md b/guides/source/ja/tuning_performance_for_deployment.md index c721ae10a09..588df5badb6 100644 --- a/guides/source/ja/tuning_performance_for_deployment.md +++ b/guides/source/ja/tuning_performance_for_deployment.md @@ -25,7 +25,7 @@ Pumaは、Railsのデフォルトのアプリケーションサーバーであ アプリケーションサーバーは、独自のコンカレンシー処理方法を採用しています。たとえば、UnicornというWebサーバーはプロセスを利用しますが、PumaやPassengerのコンカレンシー処理はプロセスとスレッドのハイブリッドベースであり、Falconはファイバー(fiber)を利用します。 -Rubyのコンカレンシー処理方法の詳しい説明はこのガイドの範囲外ですが、プロセスとスレッド間の重要なトレードオフについて説明します。プロセスとスレッド以外の方法を利用する場合は、別のアプリケーションサーバーを使用する必要があります。 +Rubyのコンカレンシー処理方法の詳しい説明はこのガイドの範囲外ですが、プロセスとスレッド間の重要なトレードオフについて説明します。プロセスとスレッド以外の方法を利用する場合は、別のアプリケーションサーバーを使う必要があります。 このガイドでは、Pumaのチューニング方法を中心に解説します。 @@ -90,7 +90,7 @@ Pumaで最も重要な2つの設定は、「プロセスあたりのスレッド プロセスあたりのスレッドを複数にする場合は、サーバーで実際に利用可能なCPUコア数に設定する必要があります。 または、サーバーで複数のアプリケーションを実行する場合は、アプリケーションが利用するコア数に設定する必要があります。 ワーカーあたりのスレッド数が1個のみの場合は、ワーカーがI/O操作を待機してアイドル状態になっている場合を考慮して、プロセスあたりのスレッド数を1より多く増やせます。 -生成されるデフォルト設定では、`Concurrent.available_processor_count`ヘルパーを利用することで、サーバーで利用可能なすべてのプロセッサコアを使用するように設定されています。この値は、`WEB_CONCURRENCY`環境変数で変更することも可能です。 +生成されるデフォルト設定では、`Concurrent.available_processor_count`ヘルパーを利用することで、サーバーで利用可能なすべてのプロセッサコアを使うように設定されています。この値は、`WEB_CONCURRENCY`環境変数で変更することも可能です。 ### YJIT