ActionView::Helpers::UrlHelper
def current_page?(options = nil, check_parameters: false, method: :get, **options_as_kwargs)

説明

渡した URL が今のリクエストの URL と同じなら true、違えば false を返します。

描画するときの今のリクエストは、ERB の欄の上にある GET /articles?page=2 です(このサイトで決めたもの)。

引数

値を変えると、ERB と HTML が変わります。

url_for で URL にしてから、今のリクエストと比べます。
  • ? のない URL:今のリクエストのクエリ文字列(?page=2)を外して比べます。
  • ? のある URL:クエリ文字列まで比べます。
  • https:// などで始まる URL:今のリクエストのパスの前に、今のリクエストの形とホスト(https://example.com など)を付けて比べます。
どちらも、最後の / は外して比べます。Hash を渡したときは、Hash の中の check_parameters と method も、キーワード引数と同じく使います。デフォルトではここにないキーワード引数(controller: "articles" など)を Hash にして使います。キーワード引数も渡さなければ、url_for に {} を渡すので、今のリクエストのパスになり、true を返します。
= false
true
true にすると、? のない URL でも、今のリクエストのクエリ文字列まで比べます("/articles" は /articles?page=2 と違うので、false を返します)。
= :get
今のリクエストの HTTP メソッドがこれと違えば、URL を比べずに false を返します。配列なら、そのどれかと同じかを見ます。小文字の Symbol で渡します。文字列("get")や :GET だと、いつも false を返します。:get なら、HEAD のリクエストも同じとみなします(配列に :get を入れたときも同じです)。今のリクエストは GET なので、:post なら false を返します。

ERB

直前との違い: 追加 削除 変更

今のリクエスト
GET /articles?page=2

          

HTML