Вы должны искать link_to_remote и использовать AJAX с рельсами. Вот хороший учебник для начала: http://railsonedge.blogspot.com/2008/03/tutorial-beginning-ajax-with-rails-20.html
Идея была бы:
Пользователь нажимает кнопку "голосовать"
Отправляет асинхронное сообщение контроллеру для сохранения голосования. (используйте link_to_remote
)
обратный вызов: complete делает что-то (например, «спасибо за голосование!»)
: обновление изменяет зону голосования (например, «проголосовали. 6 голосов за это»)
Существует множество учебных пособий по теме.
РЕДАКТИРОВАТЬ: Я писал, что некоторое время назад, и с тех пор лучшие практики изменились. Теперь, пожалуйста, посмотрите, как это сделать, используя ненавязчивый JavaScript. Хорошие ресурсы включают Ryan Railscast Бейтса Бейтса # 205 и статью в Википедии , чтобы понять принцип.
«Ненавязчивый JavaScript» - это
новая техника в JavaScript
язык программирования, используемый на
Всемирная сеть. Хотя термин не
формально определены, его основные принципы
как правило, включают:
Разделение функциональности (
«слой поведения») из веб-страницы
структура / содержание и представление
Лучшие практики, чтобы избежать проблем
традиционного программирования на JavaScript
(например, несоответствия браузера и
отсутствие масштабируемости)
Прогрессивное улучшение для поддержки
пользовательские агенты, которые могут не поддерживать
расширенная функциональность JavaScript [