我在上传播放的特定mp3时遇到了一些麻烦。
我有一个Ruby on Rails应用程序,我正在使用paperclip上传实际的mp3。我正在使用Javascript库(称为jp-player)。我已经知道mp3文件已经上传,但我还没有正式上传。如果我点击play
按钮,则没有任何反应。
我的模型看起来像这样:
has_attached_file :mp3
validates_attachment :mp3, :content_type => { :content_type => ["audio/mpeg", "audio/mp3"] }, :file_name => { :matches => [/mp3\Z/] }
我的控制器看起来像
def create
@cafe = current_user.cafes.build(cafe_params)
if @cafe.save
redirect_to @cafe
else
render 'new'
end
end
def cafe_params
params.require(:cafe).permit(:name, :description, :street_address, :state, :editors_note, :website, :image, :mp3)
end
我的观点(我将其作为一个部分,我正在以不同的方式调用)
#cafe_content
#jquery_jplayer_1.jp-jplayer
#jp_container_1.jp-audio
.jp-type-single
.jp-gui.jp-interface
%ul.jp-controls
%li
%a.jp-play{:href => "javascript:;", :tabindex => "1"}
%li
%a.jp-pause{:href => "javascript:;", :tabindex => "1"}
%li
%a.jp-mute{:href => "javascript:;", :tabindex => "1", :title => "mute"}
%li
%a.jp-unmute{:href => "javascript:;", :tabindex => "1", :title => "unmute"}
.jp-progress
.jp-seek-bar
.jp-play-bar
.jp-time-holder
.jp-current-time
.jp-volume-bar
.jp-volume-bar-value
.jp-no-solution
%span Update Required
To play the media you will need to either update your browser to a recent version or update your
= succeed "." do
%a{:href => "http://get.adobe.com/flashplayer/", :target => "_blank"} Flash plugin
:javascript
$(document).ready(function(){
$("#jquery_jplayer_1").jPlayer({
ready: function () {
$(this).jPlayer("setMedia", {
mp3: "<%= @cafe.mp3.url %>",
});
},
swfPath: "/js",
supplied: "mp3"
});
});
有没有人知道是否有任何我遗漏的东西可以让它正常运行?
答案 0 :(得分:2)
可能是你的jp玩家寻求绝对路径,而不是
<%= @cafe.mp3.url %>
试试这个
<%= URI.join(request.url, @cafe.mp3.url) %>
在你的mp3路径中,