2013-08-21 3 views
0

мой контроллер: -как сделать ссылку для скачивания в рубин

def download 
    send_file("/123.zip") 
    end 

мой взгляд скачать: -

<h1>Hello World</h1> 

, откуда я звоню вариант загрузки: -

<%= link_to 'download', :class => "btn btn-large btn-danger" do %> 

пожалуйста помогите мне, как сделать эту ссылку .. прямо сейчас это показывает ошибку

Sent file /123.zip (1.0ms) 
DEPRECATION WARNING: Passing a template handler in the template name is deprecated. You can simply remove the handler name or pass render :handlers => [:erb] instead. (called from c:in `find_template':) 
    Rendered layouts/error/application.html.erb within layouts/application (0.0ms) 
    Rendered layouts/_sidebar.html.erb (13.0ms) 
Completed 404 Not Found in 60ms (Views: 50.0ms | ActiveRecord: 4.0ms) 
+0

Вы можете вставить свой вывод команды «rake routes»? –

+0

Я новичок в этом, так что вы имеете ввиду по моим маршрутам? match "/ PatientManagement/download" => 'current_inpatient # download' –

+0

откройте свой терминал, перейдите в каталог проекта и выполните эту команду 'rake routes'. это отобразит все доступные пути в вашем проекте. –

ответ

1

сделать вашу ссылку, как это: -

<%= link_to 'download', "/PatientManagement/download", :class => "btn btn-large btn-danger"%> 

И контроллер

send_file("<absolute path to file/123.zip") 

Вы также можете использовать Rails.root, чтобы получить корневой директории Rails.

+0

эй спасибо, что сейчас работает. Можете ли вы рассказать мне, как я могу добавить окно предупреждения, чтобы спросить, хотите ли вы продолжить загрузку или нет? –

+0

<% = link_to' скачать ', "/ PatientManagement/download",: class => "btn btn-large btn-danger",: confirm => "Вы уверены?" %>, чтобы добавить окно предупреждения –

+0

это работает спасибо aman .. –

Смежные вопросы