我的第一个问题并不是专门针对rails,而是关于良好实践的更一般性问题。
假设我的API只有一个Model:Post。几乎没有记录。
回到第一个客户,当他到达服务。所以,他会尝试推动存储的本地修改。 两种情况:
如果是第一个答案,我该如何管理? 我正在考虑使用修改请求发送的“ update_token ”或时间戳。服务器检查令牌或时间戳是否匹配,然后修改记录并更新令牌 / 记录。 这是一个好习惯吗?
答案 0 :(得分:0)
我认为您应该使用辅助表来同步来自不同设备的所有这些记录,并让您的逻辑决定丢弃哪一个以及保存哪一个,并且在决定操作后,您可以从同步表中删除该条目。
device_id |属性(JSON)。 | modified_at | post_id
1 | {data:{something:here}} | 8-7-2018 2:30:44 | 4
2 | {data:{something:here}} | 8-7-2018 2:40:44 | 4
现在,您可以让代码决定从上述条目中保留哪一个。
您的逻辑可以基于修改日期或其他一些重要属性,例如价格(我只是假设)
您也可以使用套接字或类似的东西(pub | sub),因此根据您的操作,您可以将保存的记录发布到在该帖子上工作的所有侦听设备,这将使用最新条目更新现有记录。
最佳, Pramod