`page_routes`のルート定義をキーワード引数形式に統一
ActiveAdmin::Router#page_routesに残っていたハッシュ形式のルート呼び出しを、キーワード引数 to: 形式へ書き換えました。#8837で進めたルーティングコードの統一作業の仕上げです。
背景
#8837は、Rails 8.1が導入したキーワード引数の非推奨警告に対応するため、ActiveAdmin::Routerのルーティングコードを全面的にキーワード引数形式へ移行した変更です。namespaceやgetといったルーティングメソッドへのオプション渡しが、従来のハッシュ形式(位置引数)からキーワード引数形式(**options_hash)へ切り替えられました。
しかし、page_routesメソッド内の build_route 呼び出しの一箇所だけ、ハッシュロケット形式 "/path" => "controller#action" がそのまま残っていました。本PRはその見落としを解消するクリーンアップです。
技術的な変更
lib/active_admin/router.rbのpage_routesメソッド内、カスタムページアクションのルートを生成する箇所が修正されました。
変更前:
build_route(verb, "/#{page}/#{action.name}" => "#{page}##{action.name}")
変更後:
build_route(verb, "/#{page}/#{action.name}", to: "#{page}##{action.name}")
ハッシュロケットでパスとコントローラアクションを対応付けていた書き方を、パスを第2引数として独立させ、to: キーワード引数でコントローラアクションを指定する形式へ変更しています。同じpage_routes内の上の行にある router.get "/#{page}", to: "#{page}#index" と同じスタイルになり、ファイル内での一貫性が得られました。
PR本文に明記されているとおり、この変更は純粋にスタイルの統一であり、Rails 8.1の非推奨警告の解消やランタイムの動作変更は伴いません。
設計判断
既存のto:キーワード引数形式との統一が優先されています。
#8837の対応時に見落とされた箇所を個別PRとして修正することで、変更の意図と影響範囲を明確に分離しています。動作に関係のないスタイル修正を機能変更と混在させないというアプローチは、レビューやgit blameでの追跡を容易にします。
まとめ
本PRは、#8837で着手したルーティングコードのキーワード引数統一を完成させる一行の修正です。機能的な変更はないものの、コードベース全体でのルート定義スタイルが揃い、今後のメンテナンス性が向上します。