0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

自動更新で最後のメッセージのデータを反映させるときの注意

Posted at

前提

macOS Catalina
バージョン10.15.5
rails Rails 6.0.3.2

自動更新機能について実装を知っていること。
今回は私が疑問を解決できた部分に焦点を当てている。

目的

自動更新時に最後のメッセージをページに反映させるときの注意点を記し再発防止に努める。

本文

A、Bの2つの画面があったときにAに投稿されたメッセージがBにも自動で反映されるようにしたい。
以下のコードを書いたとする。

last_message_id = params[:id]

これで最新のメッセージを自動更新時する際に必要なidをつけれる。
ただし問題が一つある。それは、まだ何も投稿していないときに反映されないのです。
理由はlastがあるのは前提として先に投稿されたものがあることでしか使えないためです。
ズレが起きてしますのでを防ぐために以下のようにします。

last_message_id = params[:id].to_i

.to_iでメッセージが書かれたデータを数字に変換して管理している。これによりコンピューターは0から始まるから、1番目の最後のメッセージ=最初から2番目のメッセージだけでなく、0番目の最後のメッセージ=最初のメッセージも取得できる。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?