0

アドバイスが必要です:

複数のユーザーがボタンをクリックするRailsアプリケーションを開発しています。ボタンがクリックされた回数を知り、クリック数が特定の数に達したときにボタンを無効にする必要があります。

何が良いですか?

  1. ボタンテーブルに「クリック」という列を含め、ボタンがクリックされるたびに1ずつ数字を更新しますか?
  2. クリックテーブルを作成し、ボタンがクリックされるたびに行を挿入してから、行数を確認しますか?
  3. 他の提案も素晴らしいでしょう。

編集

ボタンはユーザーごとに無限にクリックできます。どのユーザーがボタンを無効にしたのかを知る必要があります。

私の当初の考えは、4列のテーブルでした。毎回1ずつtitle goal user_id current_number インクリメントcurrent_numberし、数値が目標に到達するようにするユーザーのユーザーIDを格納します。

4

1 に答える 1

0

最初の解決策は適切だと思われます。クリックした目標に到達するcurrent_numberとフィールドが冗長になるという唯一の欠点がありますが、アプリケーションを過度に複雑にすることなくそれを回避する方法は実際にはわかりません。

拡張できると思う唯一のことは、ResqueSidekiqなどのredisバックエンドを備えたある種のバックグラウンドキューイングシステムを組み込むことです。ただし、パフォーマンスが懸念される場合にのみ、このパスを見下ろします。

バックグラウンド処理とredisを使用した同様の実装については、githubの推奨リポジトリを確認できます。

于 2012-12-18T00:10:51.117 に答える