2016-04-17 45 views
0

Rails 4.2 ap和taglib-ruby寶石Rails tag_id3v1 mp3

我試過幾種方法來使用taglib-ruby來標記我的音頻文件。

我已經嘗試了一個carrierwave過程,現在,我正在嘗試標記after_save。

我的問題,如果我做一個回調after_save的:

def tag_id3v1(tags) 
    TagLib::MPEG::File.open(file.path) do |file| 
    tag = file.id3v1_tag(true) 
    tag.title = :title 
    file.save 
end 

應我的文件路徑是什麼呢?我已經嘗試過:file,:file_name和上傳者版本url,#{track.mp3.url}

我試圖重新打開保存的文件並將標記寫入文件。有沒有人對最好的方法有任何提示?

回答

0

最後

TagLib::MPEG::File.open(file.file) do |file| 

總是像 「的File.File」。無論如何,這就是我的伎倆。

我最終在一個:版本的carrierwave回調中做了這個。最終代碼

version :mp3 do 
    process :convert => [:mp3] 

    def full_filename(for_file) 
    "#{super.chomp(File.extname(super))}.mp3" 
    end 

    after :store, :tag_id3v2 

    end 


def tag_id3v2(for_file) 
    TagLib::MPEG::File.open(file.file) do |file| 
    tag = file.id3v2_tag(true) 
    tag.title = "#{model.title}" 
    file.save 
end 
end 

(...)