使用audio_ *帮助程序处理Rails 3.2中的音频资产

时间:2013-05-02 18:19:10

标签: ruby-on-rails-3.2 asset-pipeline

我正在尝试将音频文件包含在我的Rails 3.2应用程序中的资产管道中,并在audio_ *辅助方法的帮助下引用它们,但它不能像我认为应该有效一样工作:

  1. 我这里有一个音频文件:

    应用程序/资产/音频/ onturn.wav

  2. 我在视图(HAML)中引用它:

    %audio {src:audio_path('onturn.wav'),id:'on-turn-sound'}

  3. 导致发展到:

    <audio id='on-turn-sound' src='/audios/onturn.wav'></audio>
    

    并在制作中:

    <audio id='on-turn-sound' src='/audios/onturn-7728640b5d844c6b676d10f7572b6c8e.wav'></audio>
    

    但是,这些文件都不存在。让我们看一下生成的manifest.yml文件:

    onturn.wav: onturn-7728640b5d844c6b676d10f7572b6c8e.wav
    onturn/index.wav: onturn-7728640b5d844c6b676d10f7572b6c8e.wav
    

    所以,只有

    public/assets/onturn.wav
    public/assets/onturn-7728640b5d844c6b676d10f7572b6c8e.wav
    

    存在。

    如果我手动将文件放在public / audios中而不是app / assets / audios中,我在生产中出错,因为该文件未预编译,因此audio_path助手无法找到它。如果我将文件放在两个位置,也找不到它,因为公共/音频中没有编译版本,但我没有收到错误。

    正确处理音频和视频文件的线索是什么? CSS,JS和图像工作正常,但音频和视频无法正常工作。

1 个答案:

答案 0 :(得分:2)

你可以尝试

audio_tag 'onturn.wav'