音频标记在Active admin,Ruby on Rails

时间:2016-07-26 10:20:33

标签: ruby-on-rails ruby file-upload activeadmin carrierwave

我有一个名为Point的模型,它具有:与carrierwave相关的音频字段,用于上传音频文件。我使用ActiveAdmin创建了一个新点。我试图在活动管理员中显示点对象,除音频字段外,一切正常。 Activeadmin在没有audio_tag的情况下显示上传的音频文件的名称,但是使用音频标签它没有显示任何内容。这是代码。提前谢谢!

class Point < ActiveRecord::Base

mount_uploader :audio, FileUploader 
end  

class FileUploader < CarrierWave::Uploader::Base

  storage :file

  def extension_white_list
    %w(wma wav ogg oga mp3 3gp)   
  end

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"   
  end 
  end

ActiveAdmin.register Point do

  menu label: 'points'

  permit_params :title, :description, :audio, :altitude, :latitude, :longitude, :distance_visible, :coordinates


  form do |f|
    f.semantic_errors *f.object.errors.keys
    f.inputs "Location" do
      f.input :title, label: "Title"
      f.input :description, :as => :text, label: "Description"

      f.input :altitude, label: "Altidue"
      f.input :latitude, label: "Latitude"
      f.input :longitude, label: "Longitude"
      f.input :distance_visible, label: "Distance"

      f.input :audio, label: "Audio file"
      end 
   f.actions
   end

  show do
    attributes_table do
      row :title
      row :description
      row :audio do |item|
        audio_tag item.audio
      end
    end   
end

3 个答案:

答案 0 :(得分:1)

我认为您必须检查不同的浏览器,因为某些浏览器不支持音频标签或使用任何jquery插件播放音频文件,如jplayer,mediaelementplayer等。

答案 1 :(得分:1)

thuc tran已关闭,但语法已关闭,因为它会将controls:true添加到它查找的音频文件路径中。它看起来像这样:

audio_tag: item.audio, controls: true

答案 2 :(得分:0)

您需要将:controls选项传递给audio_tag: audio_tag(item.audio,controls:true)