我试图从我的资产文件夹中播放WAV文件,但我一直收到错误。音频标签如下所示:
<audio src="<%= asset_path('/audios/opening.wav') %>">
Browser not compatible
</audio>
我使用了一个Javascript函数来播放.play()
。当我用WAV文件的完整路径测试该函数时,它可以很好地工作。这只是我资产中的一个正在失败。
WAV路径:
.
├── app
│ ├── assets
│ │ ├── audios
│ │ │ └── opening.wav
浏览器控制台错误:
GET http://localhost:3000/audios/opening.wav net::ERR_ABORTED 404 (Not Found)
1 Uncaught (in promise) DOMException: Failed to load because no supported source was found.
服务器错误:
ActionController::RoutingError (No route matches [GET] "/audios/opening.wav"):
我确信肯定有比为每个音频资产创建路由更好的方法,但我还没有找到任何有效的解决方案。我在使用audio_path
时看到过类似的问题,但该方法似乎已被弃用。感谢我能得到的任何建议!
- 轨道7.0.3.1
- ruby 3.1.2p20(2022-04-12修订版4491bb740a([x86_64-darwin20]
事实证明,使用audio_path
而不是asset_path
是可行的!它一开始不起作用,但在我将//= link_tree ../audios
添加到app/assets/config/manifest.js
文件后起作用。