技術

[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

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

no image

[wordpress]contact form7で作ったformをコード内で呼び出す

こんばんは wordpressでformを作る時はcontact form7を使 …

no image

【Docker/Mac】Dockerコマンド

どうも中田です。 今回はDocker。 巷でよく話には出てましたが使ってみるとめ …

[ Ionic ]Cannot find module ‘../node_modules/xml2js’ でVRプラグインを消せない!

こんにちは。たなかです。 Ionicでandroidをbuild中、下記のような …

Angularでセレクトボックスに色をつけたいとき

こんにちは。コーテッグのこやまです。 Angularでセレクトボックスが特定の値 …

[Xcode] SDK Version Issue – This app was built with the iOS 12.0 SDK. Starting March 2019, all iOS apps submitted to the App Store must be built with the iOS 12.1 SDK or later, included in Xcode 10.1 or later.

こんにちは。たなかです。 2019年、ブログ初更新になります。今年もよろしくお願 …