Rails 5.2の注目ポイント:
本リリースノートでは、主要な変更についてのみ説明します。多数のバグ修正および変更点については、GitHubのRailsリポジトリにあるコミットリストのchangelogを参照してください。
既存のアプリケーションをアップグレードするのであれば、その前に質のよいテストカバレッジを用意するのはよい考えです。アプリケーションがRails 5.1までアップグレードされていない場合は先にそれを完了し、アプリケーションが正常に動作することを十分確認してからRails 5.2にアップデートしてください。アップグレードの注意点などについてはRuby on Railsアップグレードガイドを参照してください。
Active Storageが、Amazon S3/Google Cloud Storage/Microsoft Azure Storageなどのクラウドストレージにファイルをアップロードし、それらのファイルをActive Recordオブジェクトにアタッチできるようになりました。開発中やテスト中に用いるローカルのディスクベースのサービスも利用でき、バックアップや移行に用いるサブサービスへのミラーリングもサポートされました。 Active Storageの詳細についてはActive Storageの概要を参照してください。
Rails 5.2にRedisキャッシュストアが組み込まれました。 詳しくは、ガイドのRails のキャッシュ機構を参照してください。
Rails 5.2でHTTP/2 Early Hintsがサポートされました。Early Hintsを有効にしてサーバーを起動するには、bin/rails server
に--early-hints
オプションを渡します。
config/credentials.yml.enc
ファイルが追加され、productionアプリケーションの秘密情報(secret)をここに保存できるようになりました。これによって、外部サービスのあらゆる認証credentialを、config/master.key
ファイルまたはRAILS_MASTER_KEY
環境変数にあるキーで暗号化した形で直接リポジトリに保存できます。Rails.application.secrets
やRails 5.1で導入された暗号化済み秘密情報は、最終的にこれによって置き換えられます。
さらに、Rails 5.2ではcredentialを支えるAPIが用意され、その他の暗号化済み設定/キー/ファイルも簡単に扱えます。
詳しくは、Rails セキュリティガイドを参照してください。
Rails 5.2では、アプリケーションの Content Security Policy(CSP)を設定する新しいDSLが使えるようになりました。グローバルなポリシーを1つ設定しておき、続いてリソースベースでポリシーをオーバーライドすることも、lambdaを使ってリクエストごとにヘッダーに値を注入することもできます(マルチテナントのアプリでアカウントのサブドメインを注入するなど)。 詳しくは、Rails セキュリティガイドを参照してください。
変更点について詳しくはChangelogを参照してください。
ジェネレーターとテンプレートでのcapify!
を非推奨に指定。
(Pull Request)
rails dbconsole
やrails console
に環境変数名を通常の引数として渡すことを非推奨に指定。-e
オプションを明示的に利用すべき。
(Commit)
Rails::Application
のサブクラスを用いてRailsサーバーを起動することを非推奨に指定。
(Pull Request)
Railsプラグインテンプレートでのafter_bundle
コールバックを非推奨に指定。
config/database.yml
に、すべての環境で読み込まれる共有セクションを追加。
(Pull Request)
プラグインジェネレーターにrailtie.rb
を追加。
(Pull Request)
tmp:clear
タスクでスクリーンショットファイルを削除する機能。
(Pull Request)
bin/rails app:update
実行時に未利用のコンポーネントをスキップ。
最初のアプリケーション生成でAction CableやActive Recordがスキップされると、これらに関連する更新もスキップされる。
(Pull Request)
3-levelデータベース設定利用時にカスタムコネクション名をrails dbconsole
に渡せるようになった。
例: bin/rails dbconsole -c replica
.
(Commit)
console
コマンドやdbconsole
コマンドの実行時に渡す環境名のショートカットが正しく展開されるようになった。
(Commit)
bootsnap
をデフォルトのGemfile
に追加。
(Pull Request)
rails runner
でプラットフォームを問わずSTDINからのスクリプトを実行するための-
をサポート
(Pull Request)
Railsアプリケーション新規作成時にGemfile
にruby x.x.x
を追加し、.ruby-version
に現在のRubyバージョンを追加するようになった。
(Pull Request)
プラグインジェネレーターに--skip-action-cable
オプションを追加。
(Pull Request)
Gemfile
にgit_source
オプションを追加(プラグインジェネレータ用)。
(Pull Request)
Railsプラグインでbin/rails
を実行するときに未利用コンポーネントをスキップ。
(Commit)
ジェネレーターのアクションのインデントを最適化。 (Pull Request)
ルーティングのインデントを最適化。 (Pull Request)
プラグインジェネレーターに--skip-yarn
オプションを追加。
(Pull Request)
ジェネレータのgem
メソッドで引数のバージョンを複数取れるようサポート。
(Pull Request)
development/test環境でアプリケーション名を元にsecret_key_base
を生成。
(Pull Request)
デフォルトのGemfile
にmini_magick
をコメントアウトの形で追加。
(Pull Request)
Active Storage
がrails new
またはrails plugin new
でデフォルトで有効。
--skip-active-storage
でActive Storage
をスキップする。また、--skip-active-record
を用いた場合にもActive Storage
をスキップする。
(Pull Request)
変更点について詳しくはChangelogを参照してください。
cable.ymlにhost
、port
、db
、password
オプションのサポートを追加。
(Pull Request)
PostgreSQLアダプタ利用時のlong stream IDのハッシュを修正。 (Pull Request)
変更点について詳しくはChangelogを参照してください。
ActionController::ParamsParser::ParseError
を削除。
(Commit)ActionDispatch::TestResponse
のエイリアスである#success?
、#missing?
、#error?
を非推奨に指定。
(Pull Request)フラグメントキャッシュでのリサイクル可能キャッシュキーをサポート。 (Pull Request)
フラグメントのキャッシュキー形式を変更(キーchurnのデバッグを容易にするため) (Pull Request)
AEAD暗号化cookieとセッションにGCMを追加。 (Pull Request)
デフォルトでフォージェリーから保護。 (Pull Request)
署名/暗号化済みcookieの期限終了をサーバー側で強制。 (Pull Request)
cookieの:expires
オプションでActiveSupport::Duration
オブジェクトをサポート。
(Pull Request)
:puma
サーバー設定にCapybaraを登録済みにした。
(Pull Request)
cookieミドルウェアをシンプルにするためにキーローテーションサポートを追加。 (Pull Request)
HTTP/2向けのEarly Hintsを有効にする機能を追加。 (Pull Request)
システムテストでのheadless Chromeサポートを追加。 (Pull Request)
redirect_back
メソッドに:allow_other_host
オプションを追加。
(Pull Request)
assert_recognizes
がマウントしたエンジンをトラバースするようにした。
(Pull Request)
Content-Security-Policyヘッダー設定用のDSLを追加。 (Pull Request, Commit, Commit)
モダンなブラウザでサポートされている著名な音声/動画/フォントのMIMEタイプを登録。 (Pull Request)
システムテストのデフォルト出力フォーマットをinline
からsimple
に変更。
(Commit)
システムテストにheadless Firefoxサポートを追加 (Pull Request)
セキュアなX-Download-Options
およびX-Permitted-Cross-Domain-Policies
をデフォルトのヘッダーセットに追加。
(Commit)
システムテストで、ユーザーが別のサーバーを手動でしていない場合にのみPumaをデフォルトのサーバーとして設定するように変更。 (Pull Request)
Referrer-Policy
ヘッダーをデフォルトのヘッダーセットに追加。
(Commit)
Hash#each
の振る舞いをActionController::Parameters#each
に合わせた。
(Pull Request)
Rails UJS向けにnonceの自動生成をサポート。 (Commit)
デフォルトのHSTS max-age
値を31536000秒(1年)に更新。
(Commit)
cookies
のto_h
メソッドのエイリアスto_hash
メソッドを追加
session
のto_hash
メソッドのエイリアスto_h
メソッドを追加
(Commit)
変更点について詳しくはChangelogを参照してください。
image_tag
のデフォルトのaltテキストを追加するimage_alt
ヘルパーが非推奨になりました。
(Pull Request) JSON Feedsに対応するため、auto_discovery_link_tag
に:json
タイプを追加しました。
(Pull Request)
image_tag
ヘルパーにsrcset
オプションを追加しました。
(Pull Request)
optgroup
とoption
でラップしたfield_error_proc
のバグを修正しました。
(Pull Request)
form_with
がデフォルトでidを生成するようになりました。
(Commit)
preload_link_tag
ヘルパーを追加しました。
(Pull Request)
グループ化されたセレクト用のgroupメソッドが呼び出し可能オブジェクトとして使えるようになりました。 (Pull Request)
変更点について詳しくはChangelogを参照してください。
Action Mailerクラスで自身の配信ジョブを設定できるようにした。 (Pull Request)
assert_enqueued_email_with
テストヘルパーを追加。
(Pull Request)
変更点について詳しくはChangelogを参照してください。
非推奨の#migration_keys
を削除。
(Pull Request)
Active Recordオブジェクトをタイプキャストした場合の非推奨quoted_id
を削除。
(Commit)
非推奨のdefault
引数をindex_name_exists?
から削除。
(Commit)
関連付けにおける:class_name
へのクラス名渡し(非推奨)を削除。
(Commit)
非推奨initialize_schema_migrations_table
メソッドと initialize_internal_metadata_table
メソッドを削除。
(Commit)
非推奨のsupports_migrations?
メソッドを削除。
(Commit)
非推奨のsupports_primary_key?
メソッドを削除。
(Commit)
非推奨のActiveRecord::Migrator.schema_migrations_table_name
メソッドを削除。
(Commit)
非推奨のname
引数を#indexes
から削除。
(Commit)
非推奨の引数を#verify!
から削除
(Commit)
非推奨の.error_on_ignored_order_or_limit
設定を削除。
(Commit)
非推奨の#scope_chain
を削除。
(Commit)
非推奨の#sanitize_conditions
メソッドを削除。
(Commit)
supports_statement_cache?
を非推奨に指定。
(Pull Request)
ActiveRecord::Calculations
のcount
やsum
に引数とブロックを同時に渡すことを非推奨に指定。
(Pull Request)
Relation
をarel
に委譲することを非推奨に指定。
(Pull Request)
TransactionState
のset_state
を非推奨に指定。
(Commit)
expand_hash_conditions_for_aggregates
を非推奨に指定(代替はなし)。
(Commit)
動的なフィクスチャアクセサメソッドを引数なしで呼び出した場合に、その種類のフィクスチャをすべて返すようになった。従来は常に空の配列を返していた。 (Pull Request)
Active Recordの属性リーダーをオーバーライドした場合に属性の変更が一貫しなかったのを修正。 (Pull Request)
MySQLの降順インデックスをサポート。 (Pull Request)
bin/rails db:forward
の1回目のマイグレーションを修正。
(Commit)
現在のマイグレーションが存在しない場合にマイグレーション中にUnknownMigrationVersionError
エラーをraiseするようになった。
(Commit)
データベース構造をダンプするrakeタスクでSchemaDumper.ignore_tables
を考慮するようになった。
(Pull Request)
ActiveSupport::Cache
で新しいバージョン付きエントリを介したキャッシュキーの再利用をサポートするActiveRecord::Base#cache_version
を追加。これによって、ActiveRecord::Base#cache_key
がタイムスタンプを含まない安定したキーを返すようになった。
(Pull Request)
キャストした値がnil
の場合にバインドparamの作成を防止。
(Pull Request)
フィクスチャの挿入に一括INSERTを用いてパフォーマンスを改善。 (Pull Request)
ネストしたJOINを表す2つのリレーションをmergeした場合に、mergeされたリレーションのJOINをLEFT OUTER JOINに変換しなくなった。 (Pull Request)
トランザクションのステートを子トランザクションに適用するよう修正。 従来は、ネストしたトランザクションが1つあって外側のトランザクションがロールバックすると、内側のトランザクションのレコードがpersistedとマーキングされたままになることがあった。親トランザクションがロールバックした場合には親トランザクションのステートを子トランザクションに適用することで、この動作を修正した。これによって、内側のトランザクションのレコードが正しくマーキングされ、persistedにならなくなった。 (Commit)
JOINを含むスコープを持つeager-load/preload関連付けを修正。 (Pull Request)
sql.active_record
通知サブスクライバによってraiseされるエラーをActiveRecord::StatementInvalid
例外に変換されないようにした。
(Pull Request)
レコードを(find_each
、find_in_batches
、in_batches
で)一括で扱う場合にクエリキャッシュをスキップするようにした。
(Commit)
sqlite3のbooleanシリアライズで1
や0
を利用するように変更。SQLiteはネイティブで1
と0
をそれぞれtrue
とfalse
として認識するが、従来のシリアライズのt
やf
はネイティブでは認識しない。
(Pull Request)
マルチパラメータ代入を用いて構成された値が、フィールドが1つのフォーム入力をレンダリングする場合にpost-type-cast値を使うようになった。 (Commit)
モデル生成時にApplicationRecord
を生成しないようになった。生成が必要な場合はrails g application_record
で作成できる。
(Pull Request)
Relation#or
が、references
の値のみ異なる2つのリレーションを受け取れるようになった。references
はwhere
によって暗黙に呼び出されることがあるため。
(Commit)
Relation#or
を使った場合に、共通の条件を抽出してOR条件の前に配置するようになった。
(Pull Request)
binary
フィクスチャヘルパーメソッドを追加。
(Pull Request)
STI(Single Table Inheritance)で関連付けの逆転を自動で推測するようにした。 (Pull Request)
ロック待ちタイムアウト設定を超えた場合にraiseされるエラークラスLockWaitTimeout
を新しく追加。
(Pull Request)
sql.active_record
instrumentationのペイロード名をわかりやすく変更。
(Pull Request)
データベースからのインデックス削除でアルゴリズムを指定できるようになった。 (Pull Request)
Relation#where
にSet
を渡した場合の挙動を、配列を渡した場合と同じにした。
(Commit)
PostgreSQLのtsrange
で秒以下の精度が保持されるようになった。
(Pull Request)
ダーティなレコードでlock!
を呼ぶとraiseするようになった。
(Commit)
SQLiteアダプタ利用時にインデックスのカラム順がdb/schema.rb
に記載されないバグを修正。
(Pull Request)
bin/rails db:migrate
でVERSION
を指定した場合の動作を修正。VERSIONが空のbin/rails db:migrate
の振る舞いは、VERSION
を指定していない場合の動作と同じになった。
VERSION
の形式をチェックし、マイグレーションファイルのバージョン番号または名前であればそれを利用する。VERSION
の形式が無効な場合はエラーをraiseする。対象となるマイグレーションが存在しない場合もエラーをraiseする。
(Pull Request)
ステートメントタイムアウト設定を超えた場合にraiseされるエラークラスStatementTimeout
を新しく追加。
(Pull Request)
update_all
で、値をType#serialize
に渡す前にType#cast
に渡すようにした。これにより、update_all(foo: 'true')
でbooleanが正しく永続化するようになった。
(Commit)
リレーションクエリメソッドで生SQLフラグメントを使う場合は、そのことを明示的にマーキングしなければならないようになった。 (Commit, Commit)
「up」マイグレーション(新しいカラムの追加など)にのみ関係あるコード用の#up_only
をデータベースマイグレーションに追加。
(Pull Request)
ユーザーのリクエストが原因でステートメントをキャンセルした場合にraiseされるエラークラスQueryCanceled
を新しく追加。
(Pull Request)
Relation
のインスタンスメソッドと衝突するスコープ定義を許さないようになった。
(Pull Request)
add_index
にPostgreSQL演算子クラスのサポートを追加。
(Pull Request)
データベースクエリ呼び出し元のログを出力できるようにした。 (Pull Request, Pull Request, Pull Request)
カラム情報をリセットした場合に子孫クラスで属性メソッドをundefineするようになった。 (Pull Request)
delete_all
でlimit
やoffset
を指定した場合にsubselectを使うようにした。
(Commit)
first(n)
をlimit()
と併用した場合の矛盾を修正。
first(n)
ファインダーがlimit()
を考慮するようになったことでrelation.to_a.first(n)
(とlast(n)
の場合も)の挙動が一貫するようになった。
(Pull Request)
永続化していない親インスタンス上のネストしたhas_many :through
関連付けを修正。
(Commit)
レコードを通しで削除する場合に関連付けの条件を考慮するようにした。 (Commit)
save
やsave!
の呼び出し後はdestroyされたオブジェクトの改変を禁止。
(Commit)
left_outer_joins
でリレーションをmergeした場合の問題を修正。
(Pull Request)
PostgreSQLの外部テーブルをサポート。 (Pull Request)
Active Recordオブジェクトが複製された場合はトランザクションのステートをクリアするようになった。 (Pull Request)
composed_of
カラムを用いたwhere
メソッドに配列オブジェクトを引数として渡した場合に展開されない問題を修正。
(Pull Request)
誤用を防ぐためpolymorphic?
の場合にreflection.klass
でraiseするようになった。
(Commit)
ORDER BY
カラムに他のテーブルの主キーが含まれている場合であってもActiveRecord::FinderMethods#limited_ids_for
で正しい主キー値が使われるよう、MySQLとPostgreSQLの#columns_for_distinct
を修正。
(Commit)
dependent: :destroy
で、has_one
/belongs_to
リレーションシップの子クラスが削除されていないのに親クラスが削除される問題を修正。
(Commit)
アイドル状態のデータベース接続は従来孤立した接続だったのが、コネクションプールreaperによって定期的に刈り取られるようになった。 Commit
変更点について詳しくはChangelogを参照してください。
ActiveModel::Errors
の#keys
メソッドと#values
メソッドを修正。
#keys
はメッセージが空でないキーだけを返すように変更。
#values
は空でない値だけを返すように変更。
(Pull Request)
#merge!
メソッドを追加(ActiveModel::Errors
向け)。
(Pull Request)
length
バリデータオプションにProcやシンボルを渡せるようになった。
(Pull Request)
_confirmation
の値がfalse
の場合にConfirmationValidator
バリデーションを実行するようになった。
(Pull Request)
procデフォルトを含むattrebutes APIを用いるモデルをマーシャリングできるようになった。 (Commit)
シリアライズで:includes
オプションを複数指定しても失われないようにした。
(Commit)
変更点について詳しくはChangelogを参照してください。
コールバックにおける非推奨の:if
/:unless
文字列フィルタを削除。
(Commit)
非推奨のhalt_callback_chains_on_return_false
オプションを削除。
(Commit)
Module#reachable?
メソッドを非推奨に指定。
(Pull Request)
secrets.secret_token
を非推奨に指定。
(Commit)
fetch_values
をHashWithIndifferentAccess
に追加。
(Pull Request)
Time#change
に:offset
のサポートを追加。
(Commit)
ActiveSupport::TimeWithZone#change
に:offset
と:zone
のサポートを追加。
(Commit)
非推奨通知にgem名と非推奨の期間(horizon)を渡すようにした。 (Pull Request)
バージョン付きキャッシュエントリをサポート。これによりキャッシュストアでキャッシュキーを再利用できるようになり、キャッシュの変動が著しい場合にストレージを大きく節約できるようになった。Active Recordで#cache_key
と#cache_version
を分離し、Action Packのフラグメントキャッシュを利用することで動作する。
(Pull Request)
スレッド分離された属性シングルトンを提供するActiveSupport::CurrentAttributes
を追加。主なユースケースは、リクエストごとの属性をシステム全体で簡単に利用できるよう保持することである。
(Pull Request)
#singularize
と#pluralize
が指定のロケールで非可算名詞を考慮するようになった。
(Commit)
class_attribute
にデフォルトオプションを追加。
(Pull Request)
曜日を指定すると(現時点から見て)「前回その曜日だった日時」と「次回その曜日になる日時」を返すDate#prev_occurring
とDate#next_occurring
を追加。
(Pull Request)
モジュールやクラスの属性アクセサにデフォルトオプションを追加。 (Pull Request)
Cacheにwrite_multi
を追加。
(Pull Request)
ActiveSupport::MessageEncryptor
でAES 256 GCMをデフォルトで利用。
(Pull Request)
テスト時のTime.now
の時間をfreezeするfreeze_time
ヘルパーを追加。
(Pull Request)
Hash#reverse_merge!
の順序をHashWithIndifferentAccess
と一貫するようにした。
(Pull Request)
ActiveSupport::MessageVerifier
とActiveSupport::MessageEncryptor
でpurpose:
や期限指定をサポート。
ActiveSupport::MessageEncryptor
.
(Pull Request)
String#camelize
に誤ったオプションが渡されたときにフィードバックを返すようになった。
(Pull Request)
Module#delegate_missing_to
で対象がnil
の場合にDelegationError
をraiseするようになった。
(Pull Request)
ActiveSupport::EncryptedFile
とActiveSupport::EncryptedConfiguration
を追加。
(Pull Request)
productionアプリケーションの秘密情報を保存するconfig/credentials.yml.enc
を追加。
(Pull Request)
MessageEncryptor
とMessageVerifier
でキーのローテーションをサポート。
(Pull Request)
HashWithIndifferentAccess#transform_keys
が HashWithIndifferentAccess
のインスタンスを返すようになった。
(Pull Request)
Hash#slice
がRuby 2.5以降の組み込み定義にフォールバックするようになった(定義済みの場合)。
(Commit)
IO#to_json
が配列への変換を試みずにto_s
表現を返すようになった。読み取り不能オブジェクトでIO#to_json
を呼ぶとIOError
がraiseされるバグがこれで修正される。
(Pull Request)
Date#prev_day
やDate#next_day
に合わせてTime#prev_day
とTime#next_day
にも同じメソッドシグネチャを追加。
Time#prev_day
とTime#next_day
に引数を渡せるようになった。
(Commit)
Date#prev_month
やDate#next_month
に合わせてTime#prev_month
とTime#next_month
にも同じメソッドシグネチャを追加。
Time#prev_month
とTime#next_month
に引数を渡せるようになった。
(Commit)
Date#prev_year
やDate#next_year
に合わせてTime#prev_year
とTime#next_year
にも同じメソッドシグネチャを追加。
Time#prev_year
とTime#next_year
に引数を渡せるようになった。
(Commit)
humanize
で略語をサポート。
(Commit)
TimeWithZone(TWZ)のレンジでRange#include?
をサポート。
(Pull Request)
1KBを超えるキャッシュをデフォルトで圧縮できるようになった。 (Pull Request)
Redisキャッシュストア。 (Pull Request, Pull Request)
TZInfo::AmbiguousTime
エラーを扱えるようになった。
(Pull Request)
MemCacheStore: 期限切れカウンタをサポート。 (Commit)
ActiveSupport::TimeZone.all
がActiveSupport::TimeZone::MAPPING
に含まれるタイムゾーンだけを返すようにした。
(Pull Request)
ActiveSupport::SecurityUtils.secure_compare
のデフォルトの振る舞いを変更し、変数の長さの文字列についても長さ情報が漏洩しないようにした。
ActiveSupport::SecurityUtils.secure_compare
がfixed_length_secure_compare
にリネームされ、渡された文字列の長さが一致しない場合にArgumentError
をraiseするようになった。
(Pull Request)
SHA-1はETagヘッダーなどの重要度の低いダイジェストの生成に使うようになった。 (Pull Request, Pull Request)
assert_changes
によるアサーションが、引数のfrom:
とto:
の組み合わせにかかわらず常に式の変更をアサーションするようになった。
(Pull Request)
ActiveSupport::Cache::Store
のread_multi
になかったinstrumentationを追加。
(Pull Request)
assert_difference
の最初の引数でハッシュをサポート。これにより、同一のアサーションでさまざまな数値の違いを指定できるようになった。
(Pull Request)
キャッシュ: MemCacheやRedis のread_multi
とfetch_multi
を高速化。バックエンドに問い合わせる前にローカルのインメモリキャッシュから読み取るようになった。
(Commit)
変更点について詳しくはChangelogを参照してください。
ActiveJob::Base.discard_on
にブロックを渡すことで、ジョブの破棄をカスタマイズできるようになった。
(Pull Request)変更点について詳しくはChangelogを参照してください。
Railsのスレッディングとコード実行ガイドを追加。 (Pull Request)
Active Storageの概要ガイドを追加。 (Pull Request)
Railsを頑丈かつ安定したフレームワークにするために多大な時間を費やしてくださった多くの開発者については、Railsコントリビューターの完全なリストを参照してください。これらの方々全員に深く敬意を表明いたします。
Railsガイドは GitHub の yasslab/railsguides.jp で管理・公開されております。本ガイドを読んで気になる文章や間違ったコードを見かけたら、気軽に Pull Request を出して頂けると嬉しいです。Pull Request の送り方については GitHub の README をご参照ください。
原著における間違いを見つけたら『Rails のドキュメントに貢献する』を参考にしながらぜひ Rails コミュニティに貢献してみてください 🛠💨✨
本ガイドの品質向上に向けて、皆さまのご協力が得られれば嬉しいです。
Railsガイド運営チーム (@RailsGuidesJP)
Railsガイドは下記の協賛企業から継続的な支援を受けています。支援・協賛にご興味あれば協賛プランからお問い合わせいただけると嬉しいです。