ブログモデルで簡単な評価システムをセットアップしました。カスタム メソッドを使用して、ブログ データベースの整数である評価を上げます。
def increase
@post = Post.find(params[:id]).increment!(:rating)
if logged_in?
current_user.increment!(:votes)
end
flash[:notice] = "Thanks for rating"
redirect_to posts_url
end
今のところ、何度でも投票できますが、これはもちろん災難の元です。ユーザーは複数回投票して、投票数を大幅に増やすことができます。
一度送信した後に投票送信ボタンが消えるようにするにはどうすればよいですか。レーティング用に別のモデルを作成し、カスタム トークンを使用することを考えましたが、シンプルなアプリには不必要に複雑に思えます。
何か助けはありますか?
センティル