前提
プログラミング初学者です。知識に曖昧なところがあるため、分かりづらかったり間抜けな質問になっているかもしれませんが宜しくお願い致します。
現在RailsでSNSサイトを作っています。先日Railsチュートリアルを参考に、Ajaxを使ったフォロー機能の実装をしました。今はユーザー関連のページは次のような構成になっています。
まずユーザーの一覧ページがあり、一人一人のユーザーはカードとして並んでいます。
カードにはユーザーの名前(ユーザー詳細ページへのリンク)とフォローボタン(クリックで「未フォロー」か「フォロー中」に変化)があります。そしてユーザーの詳細ページにもフォローボタンがあります。
問題点
そして問題と感じているのは以下の流れです。
- ユーザー一覧ページから一人のユーザーの名前をクリックして、詳細ページに飛ぶ
- 詳細ページ内のフォローボタンをクリックで「未フォロー」から「フォロー中」にする
- そのまま先ほどの一覧ページにブラウザバック
- 当然キャッシュが表示されるので、一覧ページにおけるそのユーザーのボタン表示は「未フォロー」のまま
- リロードするとフォロー中表示に変わる
以上のような状況なので、キャッシュが表示されていると気づかずに4の段階で「未フォロー」状態のボタンをクリックしてしまうと上手く動作しないことになります。
試したこと・質問したいこと
そこで、ブラウザバックで一覧ページに戻ると自動的にリロードされるようJSを書いてみたのですが、リロードするたびに表示がチラついたり一瞬ずれたり時間がかかってしまうのがスマートではないなと感じていて、できればキャッシュを無効化・リロードする以外で、ブラウザバックしても直前のフォローボタンやフォローカウントなどの状態変化が戻り先のページに反映されるようにしたいのですが、どういった方法があるでしょうか?
また、Twitterなどの大手SNSサイトでは、ブラウザバックを挟んでもフォロー状態を含む様々な変化が前のページにもリロードなしで反映されるようになっていますが、あれはどういった技術を用いているのでしょうか?
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/08/19 08:33
2019/08/19 08:44
2019/08/19 08:56
2019/08/19 23:44