`page_routes`のルート定義をキーワード引数形式に統一

activeadmin/activeadmin

ActiveAdmin::Router#page_routes内に残っていたハッシュ形式のルート呼び出しをto:キーワード形式に変換し、コードベース全体のルート定義スタイルを統一しました。

背景

#8837で、Rails 8.1が導入したルーティングメソッドへのハッシュオプションの位置引数渡しに対する非推奨警告への対応として、ActiveAdmin::Router内のnamespacegetなどのメソッド呼び出しがキーワード引数形式(**options_hash)に移行されました。しかし、page_routesメソッド内のbuild_route呼び出し1箇所が、ハッシュ形式のまま取り残されていました。

PRの説明によれば、この変更は純粋にスタイル上のクリーンアップであり、Rails 8.1の非推奨警告の解消や Rails 8.2(edge)互換性への影響は確認されていません。

技術的な変更

lib/active_admin/router.rbpage_routesメソッド内、カスタムページアクションのルートを構築するbuild_route呼び出し1行が修正されました。

変更前:

build_route(verb, "/#{page}/#{action.name}" => "#{page}##{action.name}")

変更後:

build_route(verb, "/#{page}/#{action.name}", to: "#{page}##{action.name}")

変更前はパスとコントローラー/アクションのマッピングをハッシュロケットで表現した単一のHash引数として渡していました。変更後はパスを第2引数として、to:をキーワード引数として分離して渡しており、同メソッドの直上にあるrouter.get "/#{page}", to: "#{page}#index" と同じスタイルになっています。

設計判断

コードベース全体のルート定義スタイルの一貫性 が優先されています。

PRでは、この変更がランタイムの挙動を変えないことが明示されており、機能変更を一切含まない純粋なスタイルの統一です。#8837でほぼ移行が完了していたところ、page_routes内のbuild_route呼び出しが見落とされていたため、今回のPRでその残余を解消しています。

まとめ

#8837で進めたRails 8.1対応の仕上げとして、page_routes内の最後のハッシュ形式ルート定義をキーワード引数形式に揃えたクリーンアップです。変更は1行にとどまり挙動への影響はありませんが、コードベース全体のルート定義スタイルがこれで統一されます。

記事メタデータ

Generated by:
Claude Sonnet 4.6 for DiffDaily
LLM Trace:
113a6e7d

この記事はAIによって自動生成されています。内容の正確性については、必ずソースコードやPRを確認してください。

品質レビュー結果

Review Status:
承認済み
Review Count:
1回
Reviewed by:
Gemini 2.5 Pro for DiffDaily

Review Criteria:

記事構成 ✓ PASS

Title, Context, Technical Detailの存在と明確さ

リード文、背景、技術的な変更、設計判断、まとめの「総論→各論→結論」構成が完璧に適用されています。非常に分かりやすい構成です。

カスタムMarkdown構文 ✓ PASS

シンタックスハイライト・GitHubリンク記法の正確性

ファイル名付きシンタックスハイライト、GitHubのPR番号へのリンク記法ともに正しく使用されています。

対象読者への適合性 ✓ PASS

エンジニア向けの適切な技術レベルと表現

専門用語の選択や説明の粒度が、専門知識を持つエンジニアという対象読者に適切です。

パラグラフ・ライティング ✓ PASS

トピックセンテンス・1段落1トピック・段落長

各セクション、各パラグラフがトピックセンテンスから始まり、1段落1トピックの原則が守られているため、非常に読みやすいです。

Diff内容との照合 ✓ PASS

コードブロックとDiff内容の一致

提供されたDiff情報を正確に反映しており、変更前後のコードとファイル名が完全に一致しています。

技術用語の正確性 ✓ PASS

技術用語の正確な使用

「キーワード引数」「ハッシュ形式」「ハッシュロケット」といった技術用語を文脈に沿って正しく使用しています。

説明の技術的正確性 ✓ PASS

技術的主張の正確性と論理性

ハッシュ引数からキーワード引数への変更という技術的な内容を、論理的かつ正確に解説しています。

事実の突合 ✓ PASS

PR情報による主張の裏付け(ハルシネーション検出)

PRのDescriptionで述べられている「純粋なスタイル上のクリーンアップである」という事実を正確に捉え、記事全体がPR情報に忠実です。ハルシネーションは見られません。

数値・固有名詞の確認 ✓ PASS

PR番号・コミットID・バージョン等の正確性

PR番号(#9019, #8837)が正確に記載されており、参照情報として信頼できます。

タイトル・説明との一致 ✓ PASS

記事タイトル・説明とPR内容の一致

記事のタイトルがPRの主題「Use keyword `to:` in `page_routes`」を的確に要約しており、内容と一致しています。

外部知識の正確性 ✓ PASS

PRに記載のない外部知識(LTS、サポート状況など)の不使用

PR情報に含まれない外部知識(バージョンのサポート状況など)の追記はなく、事実に基づいた記述に徹しています。

時間表現の正確性 ✓ PASS

時間表現がPR情報と一致しているか

過去のPR(#8837)との関連性や、今回の変更の位置づけについて、時間的な前後関係を正確に記述しています。