0

大家好,我正在尝试让音频标签在 Rails 中工作。我正在使用语法 <%= audio_tag "somesong.mp3", :controls => true %>

但是,当我使用这种格式时,它会引发错误。

这是由音频标签创建的输出文件。

这是在我的歌曲文件夹中引发的错误

路由错误

没有路线匹配 [GET] "/audios/sunshine.ogg"

尝试跑步rake routes以获取有关可用路线的更多信息。

这是我的路由表,显示了我正在使用的路由。

eric@ubuntu:~/Desktop/Musicband/musicband_app$ rake 路由联系人 GET /contacts(.:format) contacts#index new_contact GET /contacts/new(.:format) contacts#new contact PUT /contacts/:id(.:格式)联系人#更新歌曲 GET /songs(.:format) 歌曲#index POST /songs(.:format) 歌曲#create new_song GET /songs/new(.:format) 歌曲#new edit_song GET /songs/:id/编辑(.:format) 歌曲#编辑歌曲 GET /songs/:id(.:format) 歌曲#show PUT /songs/:id(.:format) 歌曲#update DELETE /songs/:id(.:format) 歌曲#destroy groupees GET /groupees(.:format) groupees#index POST /groupees(.:格式) groupees#create new_groupee GET /groupees/new(.:format) groupees#new edit_groupee GET /groupees/:id/edit(.:format) groupees#edit groupee GET /groupees/:id(.:format) groupees#显示 PUT /groupees/:id(.:format) groupees#update DELETE /groupees/:id(.:format) groupees#destroy audio /audio(.:format) login_pages#music /contact(.:format) contacts#new关于 /about(.:format) 着陆页#关于根 / 着陆页#home格式)groupees#update DELETE /groupees/:id(.:format) groupees#destroy audio /audio(.:format)landing_pages#music /contact(.:format) contacts#new about /about(.:format)landing_pages#关于根/landing_pages#home格式)groupees#update DELETE /groupees/:id(.:format) groupees#destroy audio /audio(.:format)landing_pages#music /contact(.:format) contacts#new about /about(.:format)landing_pages#关于根/landing_pages#home

我不知道如何解决此音频问题并使其正常工作。音频文件默认存储在哪里?这对于我试图很快完成的课堂项目来说是一种很好的选择。

因此,如果有人知道如何解决此问题,我将不胜感激。谢谢。

4

1 回答 1

0

您尚未在routes.rb文件中设置适当的路由。

您需要添加resources :audios并设置一个音频控制器来处理请求,或者如果audios是另一个控制器的别名,请相应地进行设置。

- 编辑 -

如果您想通过控制器提供音频文件,您将需要send_file,但实际上我建议您只从资产文件夹提供静态资产,而不是通过控制器,这只会增加开销。如果您要添加/更改声音,您只需要控制器。

阅读资产管道: http: //guides.rubyonrails.org/asset_pipeline.html

于 2012-12-05T18:05:41.813 回答