gpt4 book ai didi

ruby-on-rails - HTML5 音频播放/获取请求 - 计数 - Rails

转载 作者:塔克拉玛干 更新时间:2023-11-01 19:12:31 25 4
gpt4 key购买 nike

我目前正在尝试统计一首特定歌曲的收听次数。

在我的 Rails 应用程序中,一首歌有_many 听。我将使用增量计数器来更新计数,并且认为我对计数器缓存也有很好的理解。

我的问题出现在理解要计算或跟踪的内容时。我在 js 中使用 HTML5 的新音频。

看到用户想要播放歌曲并发出 GET 请求来播放歌曲,如何统计发出的 GET 请求数?或者我什至应该尝试计算请求数?

歌曲是通过回形针上传的

请求在这里:

<%= link_to 'Play Song', song_upload.song.url, :class => "html5" %>

在这里播放:

$(document).ready(function() {  
var audioSection = $('section#audio');
$('a.html5').click(function() {

var audio = $('<audio>', {
controls : 'controls'
});

var url = $(this).attr('href');
$('<source>').attr('src', url).appendTo(audio);
audioSection.html(audio);
return false;
});

});

本质上,用户点击“播放歌曲”按钮,歌曲就会通过正上方的播放器播放。希望这是足够的代码。

最佳答案

我不认为你应该有一个 Listens 模型,除非你需要跟踪谁听了什么。否则它很可能只是一个字段。我将把它写成一个字段,但您可以轻松地对其进行调整以满足您的需要。我只是不确定 Listen 会有哪些字段。

在 click() 内部,添加一些 AJAX 以将信息发送到您的 Controller 。例如:

$.ajax({
url: '/increment.json',
data: { "song_id" : "<%= @song.id %>"},
async: false
});

当然,您还必须为此添加一条路线。

match "increment.json" => "songs#increment"

最后,在您的 Songs Controller 中响应调用。

def increment
Song.find_by_id(params[:id]).listens += 1
end

关于ruby-on-rails - HTML5 音频播放/获取请求 - 计数 - Rails,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9981089/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com