我有一个简单的.erb文件,用于创建歌曲名称列表。
当用户点击名称时,我想要一个浏览器窗口打开并在YouTube中播放该歌曲。我的YouTube实施是一个快速入侵,但就此而言,您只需致电
YouTubeAPI.new(searchphrase)
并传递一个字符串。
我的问题:如何让页面响应用户输入,以便当用户点击歌曲名称时,它会将该歌曲名称作为我的YouTubeAPI类方法的值传递?
这是我的小.erb文件:
<!DOCTYPE html>
<html lang="en-US">
<head></head>
<body>
<h1>Songs</h1>
<p>There are <%=Song.all.count%> in this playlist.</p>
<p><strong>All Songs:</strong></p>
<% Song.all.each do |song| %>
<li><a href = "songs/<%=song.name.downcase.gsub(/\s+/, "")%>.html">
<%=song.name%></a></li>
<% end %>
<a href = "../index.html">Home</a>
</body>
</html>
答案 0 :(得分:0)
我看到的方法很少。
当然,一个是Ajax。使用Javascript拦截此单击并将歌曲名称发送到您的控制器。控制器可以返回Youtube URL,你的javascript ajax回调可以重新加载它。
要尝试的另一件事是将href替换为您的网站 - 实际上您使用歌曲名称作为参数调用您的网站,然后您的YOUtubeAPI会将用户重定向到youtube。
还有一个选项,在Javascript中重写这个帮助程序并将其放在客户端上。