2016-09-20 42 views
1

我查看index.html.erb看起來像這樣下載文件:我想通過傳遞其location_path給函數(Ruby on Rails的)

<p><% @filelist.each do |d|%> 
    <p><%= link_to d, download_file(loc:"/lib/",file:"del.docx")%></p> 
<% end%> 
</p> 

我的控制器類

def index 
    @filelist = Dir.entries(".").select {|f| !File.directory? f} 
end 

def download(loc,file) 
    send_file path:loc, filename:file 
end 

但沒有按沒有工作。任何人都可以提出任何正確的方法嗎?

我想將文件位置傳遞給方法,並且該方法應該返回該位置處的文件,並且用戶應該能夠下載它。

感謝

+1

你能具體談談什麼是 「不工作」? – Ajean

+0

代碼的意圖是允許用戶下載文件而不用公開URL,因爲我想跟蹤下載。此處此代碼不適用於下載文件 –

回答

0

試試這個在您的index.html.erb

<p> 
    <% @filelist.each do |d|%> 
    <%= link_to "#{d}", '/lib/del.docx' %> 
</p> 
+0

謝謝Hasmukh。但我不想給用戶一個URL,因爲我想在調用方法中記錄「誰下載了什麼」。 –

相關問題