2016-08-21 80 views
2

我需要添加一個鏈接從assets/docs /Физика.pdf下載文件 我不知道該怎麼做。 我試圖使這裏做:鑑於 -rails link_to download file

<%= link_to "download", '/Физика.pdf', :download => 'filename' %> 

我得到一個錯誤信息:

No route matches [GET] "/%D0%A4%D0%B8%D0%B7%D0%B8%D0%BA%D0%B0.pdf" 

我在做什麼錯? 請幫助我

+0

試試這個[link](http://stackoverflow.com/questions/13164063/file-download-link-in-rails)。 – davidhu2000

+0

也許只是'<%= link_to'下載','/assets/docs/Физика.pdf'%>'或'<%= link_to'下載',asset_path('/ docs /Физика.pdf')%>' – HarlemSquirrel

回答

0

試試這個:

<%= link_to 'download', root_path << '/assets/docs/Физика.pdf' %> 
+0

沒有幫助( 沒有路線匹配[GET]「/assets/docs/%D0%A4%D0%B8%D0%B7%D0%B8%D0%BA%D0%B0.pdf」 –

+0

@StivenFrams你有沒有得到解決方案?我面臨同樣的錯誤 –

4

你可以做的步驟如下:

第一步:打開文件routes.rb

get 'download_pdf', to: "homes#download_pdf" 

第二步:我認爲你的controllerhome_controller.rb,你把這個林E:

def download_pdf 
    send_file "#{Rails.root}/app/assets/docs/Физика.pdf", type: "application/pdf", x_sendfile: true 
end 

第三步:在你view文件。

<%= link_to "download", download_pdf_path %> 

我建議你應該把這個docs文件夾中的文件夾public

例如: public/docs/*.pdf

+0

這對我有效! – Belder

0

奇怪的是,在你的link_to助手使用HTML下載屬性的伎倆

<%= link_to "Download", file.file(:original, false), download:true %> 

希望這有助於在未來!