【rails初学者向け】遷移元のコントローラー名とアクション名を取得する方法を紹介します

今回は、遷移元のコントローラー名とアクション名を取得していきます。

あまり使用しないかもですが、覚えておくと便利だと思います。

ポートフォリオを作成していて、全然わからなかったので、備忘録として残しておきます。

versions
  • ruby 2.6.5
  • rails 6.0.0

早速取得しよう

今回の記事はめちゃくちゃ短いですが、以下の記述で取得できます。

Rails.application.routes.recognize_path(request.referer)

いや、メソッドチェーンしすぎ!って思いました。

ハッシュの形で返り値が返ってくるので、requestとか適当な変数に入れて、

request['controller']

request['action']

などとすれば取得できます。

まとめ

  • Rails.application.routes.recognize_path(request.referer)で取得可能
  • ハッシュの形になっている

今日は僕の備忘録でした。

みなさんの助けになれば幸いです。

参考

【Rails】1個前のcontrollerとactionを取得する