Sti*_*ams 5 ruby-on-rails link-to
我需要添加一个链接来从assets/docs /Физика.pdf下载文件我不知道该怎么做.我想在这里这样做:在视图中 -
<%= link_to "download", '/??????.pdf', :download => 'filename' %>
Run Code Online (Sandbox Code Playgroud)
我收到一条错误消息:
No route matches [GET] "/%D0%A4%D0%B8%D0%B7%D0%B8%D0%BA%D0%B0.pdf"
Run Code Online (Sandbox Code Playgroud)
我究竟做错了什么?请帮帮我
您可以执行以下步骤:
第1步:打开文件routes.rb
get 'download_pdf', to: "homes#download_pdf"
Run Code Online (Sandbox Code Playgroud)
Step2:我认为你controller是home_controller.rb,你把这一行:
def download_pdf
send_file "#{Rails.root}/app/assets/docs/??????.pdf", type: "application/pdf", x_sendfile: true
end
Run Code Online (Sandbox Code Playgroud)
第3步:在你的view文件中.
<%= link_to "download", download_pdf_path %>
Run Code Online (Sandbox Code Playgroud)
我建议你把这个docs文件夹放在public文件夹中.
例如:
public/docs/*.pdf
第1步:视图
<%= link_to "download", download_path, target: "_blank"%>
Run Code Online (Sandbox Code Playgroud)
第2步:路由
match 'download', to: 'home#download', as: 'download', via: :get
Run Code Online (Sandbox Code Playgroud)
第3步:内部控制器
send_file 'public/pdf/user.png', type: 'image/png', status: 202
Run Code Online (Sandbox Code Playgroud)
尝试这个:
\n\n<%= link_to 'download', root_path << '/assets/docs/\xd0\xa4\xd0\xb8\xd0\xb7\xd0\xb8\xd0\xba\xd0\xb0.pdf' %>\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
10798 次 |
| 最近记录: |