3

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

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

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

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

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

这导致发展到:

<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 和图像工作正常,但音频和视频无法正常工作。

4

1 回答 1

2

你可以试试

audio_tag 'onturn.wav'
于 2013-12-28T10:00:02.470 回答