railsでreloadをどうしても禁止したかったので書きました。
実際は禁止というよりもリロード時と通常のアクセスを分けるということですが、
フローとしては
- requestされたuriを取得
- requestされたuriをsessionに保存
- requsetされたuriとsessionを比較する
このような流れで判断します。
コードは次のような形になります。
if request.path_info != session[:ref]
session[:ref] = request.path_info
# 通常時の処理
else
# reload時の処理
end
こうすることでリロード時と通常のアクセスで処理を分けることができます。
セッションの削除に関しては、任意のところで
session[:ref] = nil
とすればOK!