Quick and dirty "voting" with basic cookie tracking

Language: Ruby

class VotesController < ApplicationController
  
  def create
    @video = Video.find(params[:id])
    @voted_for = cookies[:voted_for] ? cookies[:voted_for].split(",") : []
    if @voted_for.include?(@video.id.to_s)
      render :text => "You already voted for #{@video}!"
    else
      render :text => "Thanks for voting for #{@video}!"
      cookies[:voted_for] ||= []
      cookies[:voted_for] = cookies[:voted_for] << "#{@video.id},"
      Video.increment_counter(:votes, @video.id)
    end
  end
end
Reveal More
Added almost 2 years ago by Costco_normal trevorturk