Я пытаюсь разрешить пользователям проголосовать за запись вверх/вниз с помощью Ajax. Я использую плагин vote_fu для функции голосования, и все работает отлично без Ajax. Теперь я пытаюсь найти лучший способ реализовать асинхронную функциональность с ненавязчивым javascript.Голосование с Ajax in Rails
Теперь у меня есть две кнопки: «Вверх» и «Вниз», так что, когда вы нажимаете на один, выполняется запрос на голосование_controller и действие create или update, в зависимости от того, был ли пользователь уже представил голосование по этой записи ранее. Представленные параметры будут record_id, а также ценность голосования.
С Ajax, как я должен обрабатывать случай, когда пользователь вводит страницу для голосования, не проголосовав за запись раньше? В частности, ссылки будут идти на голосование # create в начале, но после этого первого представления ссылки должны переключиться на # голосов голосов.
Есть ли стандартный способ позаботиться об этом? Я подумывал о добавлении дополнительной проверки в методе «create», так что он будет действовать как «обновление», если он найдет запись для пары user_id, voteable_id, но это выглядело довольно неуклюжим и не полностью RESTful.
Спасибо, Эрик
Я думал о том, только с помощью вызова процедуры, но из любопытства, когда это вообще «приемлемый» отойти от отдыха звонка? Например, если у вас есть дружеские отношения между пользователями, вы бы подружились с FriendshipsController # create или UsersController # addFriend? – Eric
Обновлен ответ re Ваш комментарий. –