【问题标题】:Correct place to put downloadable files in Rails 5在 Rails 5 中放置可下载文件的正确位置
【发布时间】:2017-08-09 22:08:19
【问题描述】:

我最近为某人创建了一个网站,他们希望免费下载他们以 .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

路线:

Rails.application.routes.draw do

  root 'static_pages#home'

  get 'download_cards', to: "downloads#download_cards"

end

查看:

<%= link_to "download the cardz", download_cardz_path %>

【问题讨论】:

    标签: ruby-on-rails download


    【解决方案1】:

    您可以将文件直接放在public/文件夹中,然后使用

    <%= link_to "Download Card Game", "/cardgame.zip" %>
    

    这将创建一个以下链接

    <a href="/cardgame.zip">Download Card Game</a>
    

    当 Rails 收到GET /cardgame.zip 时,它会在查找匹配的路由之前检查public/ 目录中的匹配文件。根本不需要控制器来提供静态文件。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多