Система рейтинга на Rails?
Тут их много, возьмите какая понравится www.ruby-toolbox.com/categories/rails_ratings
Никаких куков не нужно.

1) делаете таблицу а-ля post_votes с полями user_id: и post_id (если нужно +, — или там рейтинг 1..5 добавляете еще и поле со значением)

Вариант А.
2) при голосовании проверяете в модели уникальность юзера в скоупе поста (то есть, если уже запись юзер-пост существует, рейтинг не учитываем, т.к. это повторное голосование)
3) рейтинг статьи = кол-во голосов за статью
Вариант Б.
2) сама статья имеет поле с рейтингом и при голосовании изменяем её + дублируем в вышеупомянутой таблице факт голосования юзером, что бы потом при повторном нажатии можно было провалидировать, не голосовал ли пользователь.

ps. Я бы по второму варианту сделал )