【发布时间】:2013-12-25 22:13:12
【问题描述】:
当我在 Rails 中使用 link_to 标记时,我试图找出在后台播放 wav 文件(类似 HTML5)的最佳方式。
这是我的一个观点的示例链接:
<%= link_to 'At Station', at_station_mdt_index_path, :class => 'btn btn-success btn-medium', :method => :put, :remote => true %>
我想知道如何使用 audio_tag 在按下按钮时触发声音。我尝试在 link_to ERB 中组合 audio_tag,但出现各种语法错误。
任何示例将不胜感激。
更新于 01/04/14-10:18am CT:声音一次正确地触发。但是,由于将 :id 添加到 link_to 链接不再触发 rails 路径来更改对象,因此只会播放声音
查看代码:
<%= link_to 'En Route', en_route_mdt_index_path(:call_id => call.id), :class => 'btn btn-warning btn-medium', :method => :put, :remote => true, :id => "er" %>
<%= link_to 'On Scene', on_scene_mdt_index_path(:call_id => call.id), :id => 'to', :class => 'btn btn-primary btn-medium', :method => :put, :remote => true, :id => "os" %>
<%= link_to 'To Hospital', to_hospital_mdt_index_path(:call_id => call.id), :class => 'btn btn-warning btn-medium', :method => :put, :remote => true, :id => "to" %>
<audio id="en-route" class="audio_player" preload="true">
<source src="audios/en-route.wav" type="audio/wav">
</audio>
<audio id="on-scene" class="audio_player" preload="true">
<source src="audios/on-scene.wav" type="audio/wav">
</audio>
<audio id="to-hospital" class="audio_player" preload="true">
<source src="audios/to-hospital.wav" type="audio/wav">
</audio>
<script>
$('#er').click(function (e) {
e.preventDefault();
$('#en-route')[0].currentTime = 0;
$('#en-route')[0].play();
return true;
});
$('#os').click(function (e) {
e.preventDefault();
$('#on-scene')[0].currentTime = 0;
$('#on-scene')[0].play();
return true;
});
$('#to').click(function (e) {
e.preventDefault();
$('#to-hospital')[0].currentTime = 0;
$('#to-hospital')[0].play();
return true;
});
</script>
【问题讨论】:
标签: ruby-on-rails-3 html5-audio link-to