技術

[Rails] Controllerで表示してるページのパスを判定したい

投稿日:

Controllerで表示してるページのパスを判定して、条件分岐したいと思います。

 

まず試したのがこちら。

current_page?(root_path)

しかしエラーが。

NoMethodError: undefined method `current_page?'

調べてみると current_page? は UrlHelper の中に定義されていて
UrlHelper は ActionView のヘルパーなんですね。

無理にでもControllerで current_page? を使いたい方はこれでできるみたいです。

include ActionView::Helpers::UrlHelper

 

でも、わざわざincludeするのはなーと思っていたら、
controller_path で、controller名が
action_name で、action名が取得できるんですね。

初めて知りました。

 

最終的には、これで表示中のページのパスを判定しました。

if (controller_path == 'hoge' && action_name == 'fuga')

 

参考

-技術

執筆者:


comment

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

This site uses Akismet to reduce spam. Learn how your comment data is processed.

関連記事

no image

CSSのpositionで要素を真ん中寄せにする(JS不要)

positionを使って要素を真ん中寄せにする時は、transform: tra …

no image

【gem/bundle】あんたたち一体どういう関係なのよ!!

どうも中田です。 今回はgemとbundleの話。 前置き よくあるgemの説明 …

no image

【nginx/unicorn】(13: Permission denied) while connecting to upstream

どうも中田です。 AWS上でAPIサーバを構築してて、 * Webサーバ:ngi …

no image

VivaldiのWEBパネルに登録して便利だったサイトを紹介する

こんばんは VivaldiのWEBパネルはとても便利です。 今回はWEBパネルに …

Local by Flywheelでローカルに本番環境を作るときのエラーを解消する

こんにちは Local by Flywheelはwordpress環境をローカル …