技術

[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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

関連記事

Slack Tasker系アプリで絵文字ステータスを自動設定(android 「Automate」)

Slackの絵文字ステータス、皆さん使っているでしょうか? 私は自分の居る場所に …

[ Ionic ]キーボード出現時にフッターを押し上げてしまう問題の対応

こんにちは。たなかです。 IonicFrameworkでモバイルアプリを開発させ …

no image

Angular6で子コンポーネントに文字列を渡す

文字列と変数の値を渡す時、記述が少しだけ違います。 // 文字列を渡したい時 & …

no image

[Angular]リアクティブフォームのHTML側の記法

Angularのリアクティブフォームではtsファイル側でネストした構成を組むこと …

no image

【Angular6】画像を拡大したり、ドラッグ移動をできるようにする

こんにちは 画像を拡大したり、ドラッグ移動したい時は結構あるんじゃないでしょうか …