2016-03-02 39 views
2

我試圖用Refile gem實現多個文件上傳。重寫,如何顯示多個上傳的文件名

用戶必須能夠將多個文檔上傳到錦標賽模型。

在節目模板,我試着讀出所有上傳的文件是這樣的:

<% @tournament.documents.each do |doc| %>                      
    <%= link_to @tournament.document_filename, attachment_url(doc, :file) %> 
<% end %> 

但是這給了我的觀點很長的鏈接,這樣的事情:

/attachments/c569801bbd2a2ca51350ca326ec57e18d0d318e9/store/ad644cadeda8ee5197bc2bb8a66cc966f5b4b74fad7bbccd2ab798a10c98/file 

有沒有辦法輸出上傳文件的文件名?

非常感謝您的幫助,

安東尼

+1

默認情況下,鏈接末尾的文件名將只是附件字段的名稱,所以在這種情況下是文件。然而,這可以被命名爲任何你想要的。 attachment_url接受文件名和格式參數:'Refile.attachment_url(doc,:文件,文件名:@ tournament.document_filename,格式:'docx')'該文件存儲在ad64ca下...所以無所謂命名它。另請參閱https://github.com/refile/refile#additional-metadata獲取有關保存元數據的信息 –

+0

嗨,Adam,感謝您提供的信息 – Toontje

回答

0

一個更簡單的解決方案是存儲文件名,同時創造了紀錄。將這些列(文件名,大小,content_type)添加到您的模型中,Refile將在創建時自動填充它們。

class StoreMetadata < ActiveRecord::Migration 
    def change 
    add_column :users, :profile_image_filename, :string 
    add_column :users, :profile_image_size, :integer 
    add_column :users, :profile_image_content_type, :string 
    end 
end