button_to with:remote => true是Rails框架中的一个方法,用于创建一个带有远程请求的按钮。当用户点击该按钮时,会发送一个AJAX请求到服务器,而不是刷新整个页面。
根据你的描述,按钮点击后投票计数没有更新,可能是因为没有正确处理服务器返回的数据。在使用button_to方法时,需要确保服务器返回的数据能够正确更新页面上的投票计数。
以下是一种可能的解决方案:
<%= button_to "投票", vote_path, remote: true %>
这将创建一个按钮,当用户点击时会发送一个远程请求到vote_path。
def vote
# 更新投票计数的逻辑
# ...
# 返回更新后的数据
render json: { count: updated_count }
end
在上面的代码中,你需要根据实际情况编写更新投票计数的逻辑,并将更新后的计数作为JSON数据返回。
$(document).on('ajax:success', function(event, data) {
// 更新投票计数
$('#vote-count').text(data.count);
});
在上面的代码中,假设投票计数显示在id为"vote-count"的元素中,通过data.count获取服务器返回的更新后的计数,并将其更新到页面上。
通过以上步骤,你可以实现在点击按钮后,通过AJAX请求更新页面上的投票计数。请注意,这只是一种解决方案,具体实现可能会根据你的应用程序架构和需求而有所不同。
推荐的腾讯云相关产品和产品介绍链接地址:
领取专属 10元无门槛券
手把手带您无忧上云