railsで「前のページに戻る」ボタンを実装する方法
戻るボタンの一番ベターな方法が、以下の処理です。
= link_to '戻る', :back
ボタンで実装する際は、erbの場合例えば
<%= link_to :back do %>
<button>戻る</button>
<% end %>
hamlで書くと
= link_to :back do
%button 戻る
とするといいようです。
しかし、これでは3ページ以上ある場合、そのうちの最後から2ページしか遷移しなくなります。
(無限ループ状態・・・)
railsで「複数のページ(元辿ってきたページ)に戻る」ボタンを実装する方法
そのため、無限ループ状態にならないように
= link_to '戻る', 'javascript:history.back()'
という処理を書いていきます。
:historyとあるようにこれは”元辿ってきた過去の”ページから戻るイメージです。
では同じようにerbで実装する際は
<%= link_to 'javascript:history.back()' do %>
<button>戻る</button>
<% end %>
hamlで書くと
= link_to 'javascript:history.back()' do
%button 戻る
とするといいかと思います。
教材での学習において前者の単に戻るボタンの実装しかなかったので
疑問に思い、stackoverflowでリサーチをして備忘録的にまとめました。
おかしな点があればご教授いただけると幸いでございます。