Plugins - acts_as_voteable
Add to favoritesAdds acts_as_voteable functionality to ActiveRecord models, which allows you to associate a vote for or against a model instance.
http://www.juixe.com/techknow/index.php/2006/06/24/acts-as-voteable-rails-plugin/
http://juixe.com/svn/acts_as_voteable/
Rails' (MIT)
Model

I found this after writing an almost identical plugin myself. One difference is that I used validatesuniquenessof :voterid, :scope => [:voteabletype, :voteable_id] in my Vote model to make sure that a particular user can't vote more than once, which I think is a good way to do it. Stop them at the model in case you accidentally leave a hole in your controller.
the logic to check if a user has voted uses a loop, its better to just let the db to it...