質問: railsでスポーツの勝敗予想の投票機能があるサイトを作っています。 具体的にはAチームとBチームがいて、どちらに勝つかを投票ボタンをクリックできるという機能です。 その際に同じチームに何回もクリックして投票できるということを避けたいとのですが、クライアントのIPを取得して、そのIPからのアクセスは日が変わるまで投票できないというようにしたらよいのかなと考えているのですが、どのようなMVC構成で実装するのか、またIPを管理するのかがよくわかっていません。 どなたかヒントや考え方、参考サイトなどあればご教示いただけませんでしょうか? request.remote_ipでIP取得できるところまでしか今のところわかっておりません。。
回答: Rubyやっているわけではないので > > どなたかヒントや考え方 > > > のみを。 「投票ボタンをクリックしてチェックする」のか「そもそも押させない」のか で 若干作りが違いますが、 抜け道は幾らでもあるのですが基本的な考え方は以下。 1. DBにて投票数を管理するテーブルに日時とIPを保管しておく 2. アクセス時orクリック時にシステム日付とIPで投票テーブルにSELECT 3. 存在すれば投票させない(エラーorボタン非表示・非活性 アクセス時であれクリック時であれいずれにしても 投票後にはボタンを押せなくする必要があるので、ajaxは必要ですね。