用paperclip gem上传mp3

时间:2017-07-18 22:27:31

标签: javascript ruby-on-rails ruby paperclip

我在上传播放的特定m​​p3时遇到了一些麻烦。

我有一个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"
    });
  });

有没有人知道是否有任何我遗漏的东西可以让它正常运行?

1 个答案:

答案 0 :(得分:2)

可能是你的jp玩家寻求绝对路径,而不是

<%=  @cafe.mp3.url %>

试试这个

<%= URI.join(request.url, @cafe.mp3.url) %>

在你的mp3路径中,