Chr*_*rke 2 ruby-on-rails download
我最近为某人建立了一个网站,他们希望能够免费下载他们以.zip文件形式制作的纸牌游戏.
我有下载工作,但想知道是否有一个"正确"的地方放置公共可下载文件根据Rails.当我将.zip文件放在我的公共文件夹中并更改我的download_cards方法以反映更改时,我收到"无法找到文件"错误消息.
这是我的下载设置:
控制器:
class DownloadsController < ApplicationController
def download_cards
send_file "#{Rails.root}/app/assets/downloads/cardgame.zip", type: "application/zip", x_sendfile: true
end
end
Run Code Online (Sandbox Code Playgroud)
路线:
Rails.application.routes.draw do
root 'static_pages#home'
get 'download_cards', to: "downloads#download_cards"
end
Run Code Online (Sandbox Code Playgroud)
视图:
<%= link_to "download the cardz", download_cardz_path %>
Run Code Online (Sandbox Code Playgroud)
小智 7
您可以将文件直接放在public/
文件夹中,然后使用
<%= link_to "Download Card Game", "/cardgame.zip" %>
Run Code Online (Sandbox Code Playgroud)
这将创建以下链接
<a href="/cardgame.zip">Download Card Game</a>
Run Code Online (Sandbox Code Playgroud)
当Rails收到GET /cardgame.zip
它时,它会检查public/
目录中是否有匹配的文件,然后查找匹配的路由.根本不需要控制器来提供静态文件.
归档时间: |
|
查看次数: |
1247 次 |
最近记录: |