環境
rails 6.0.3
説明
遷移前のページのURL内のパス名によって、ページに表示するリンク先を分岐させる方法。
該当のviewファイル
<% if URI(request.referer.to_s).path == 'パス名' %>
#前のページが指定したパスだった場合のリンク先
<% else %>
#その他のリンク先
<% end %>
-
request.refererは文字列を返す。
※URLに数値(integer)がある状態でリクエストされた際にエラーにならないようにto_sで文字列に変換しておく必要がある。 -
RubyのURIモジュールを使用して、request.refererをラップすると、パスだけを要求することができる。
参考記事
URLすべてを取得して、ページに表示するリンク先を分岐させる方法
https://qiita.com/taka_571/items/9b1c82d8fcc602df8a1a