document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/pygment_trac.css" />');
document.write('<link rel="stylesheet" href="http://flowcoder.com/stylesheets/embed.css" />');
document.write('<div class="flowcoder_post flowcoder_clearfix">');
document.write('<div class="flowcoder_posttitle"><a href=\"http://flowcoder.com/164\">Quick and dirty \"voting\" with basic cookie tracking<\/a></div>');
document.write('<div class="flowcoder_postbody flowcoder_syntax"><div class=\"highlight\"><pre><span class=\"k\">class<\/span> <span class=\"nc\">VotesController<\/span> <span class=\"o\">&lt;<\/span> <span class=\"no\">ApplicationController<\/span>\n  \n  <span class=\"k\">def<\/span> <span class=\"nf\">create<\/span>\n    <span class=\"vi\">@video<\/span> <span class=\"o\">=<\/span> <span class=\"no\">Video<\/span><span class=\"o\">.<\/span><span class=\"n\">find<\/span><span class=\"p\">(<\/span><span class=\"n\">params<\/span><span class=\"o\">[<\/span><span class=\"ss\">:id<\/span><span class=\"o\">]<\/span><span class=\"p\">)<\/span>\n    <span class=\"vi\">@voted_for<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cookies<\/span><span class=\"o\">[<\/span><span class=\"ss\">:voted_for<\/span><span class=\"o\">]<\/span> <span class=\"p\">?<\/span> <span class=\"n\">cookies<\/span><span class=\"o\">[<\/span><span class=\"ss\">:voted_for<\/span><span class=\"o\">].<\/span><span class=\"n\">split<\/span><span class=\"p\">(<\/span><span class=\"s2\">&quot;,&quot;<\/span><span class=\"p\">)<\/span> <span class=\"p\">:<\/span> <span class=\"o\">[]<\/span>\n    <span class=\"k\">if<\/span> <span class=\"vi\">@voted_for<\/span><span class=\"o\">.<\/span><span class=\"n\">include?<\/span><span class=\"p\">(<\/span><span class=\"vi\">@video<\/span><span class=\"o\">.<\/span><span class=\"n\">id<\/span><span class=\"o\">.<\/span><span class=\"n\">to_s<\/span><span class=\"p\">)<\/span>\n      <span class=\"n\">render<\/span> <span class=\"ss\">:text<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s2\">&quot;You already voted for <\/span><span class=\"si\">#{<\/span><span class=\"vi\">@video<\/span><span class=\"si\">}<\/span><span class=\"s2\">!&quot;<\/span>\n    <span class=\"k\">else<\/span>\n      <span class=\"n\">render<\/span> <span class=\"ss\">:text<\/span> <span class=\"o\">=&gt;<\/span> <span class=\"s2\">&quot;Thanks for voting for <\/span><span class=\"si\">#{<\/span><span class=\"vi\">@video<\/span><span class=\"si\">}<\/span><span class=\"s2\">!&quot;<\/span>\n      <span class=\"n\">cookies<\/span><span class=\"o\">[<\/span><span class=\"ss\">:voted_for<\/span><span class=\"o\">]<\/span> <span class=\"o\">||=<\/span> <span class=\"o\">[]<\/span>\n      <span class=\"n\">cookies<\/span><span class=\"o\">[<\/span><span class=\"ss\">:voted_for<\/span><span class=\"o\">]<\/span> <span class=\"o\">=<\/span> <span class=\"n\">cookies<\/span><span class=\"o\">[<\/span><span class=\"ss\">:voted_for<\/span><span class=\"o\">]<\/span> <span class=\"o\">&lt;&lt;<\/span> <span class=\"s2\">&quot;<\/span><span class=\"si\">#{<\/span><span class=\"vi\">@video<\/span><span class=\"o\">.<\/span><span class=\"n\">id<\/span><span class=\"si\">}<\/span><span class=\"s2\">,&quot;<\/span>\n      <span class=\"no\">Video<\/span><span class=\"o\">.<\/span><span class=\"n\">increment_counter<\/span><span class=\"p\">(<\/span><span class=\"ss\">:votes<\/span><span class=\"p\">,<\/span> <span class=\"vi\">@video<\/span><span class=\"o\">.<\/span><span class=\"n\">id<\/span><span class=\"p\">)<\/span>\n    <span class=\"k\">end<\/span>\n  <span class=\"k\">end<\/span>\n<span class=\"k\">end<\/span>\n<\/pre><\/div>\n</div>');
document.write('<div class="flowcoder_bottombar flowcoder_clearfix">');
document.write('<div class="flowcoder_postedby">Posted by <a href=\"http://flowcoder.com/trevorturk\">trevorturk<\/a> on <a href=\"http://flowcoder.com/\">Flowcoder<\/a></div>');
document.write('<div class="flowcoder_viewraw"><a href=\"http://flowcoder.com/164.txt\">view raw<\/a></div>');
document.write('</div></div>');
