我应该把文件放在Rails 3中通过send_file发送?

时间:2012-07-15 11:57:04

标签: ruby-on-rails deployment asset-pipeline

我应该在Rails 3中通过send_file放置要提供的文件?

假设我正在提供一个浏览器扩展,可能会在一两个月内更新一次,我应该将它放在资产管道中吗?我怎样才能从控制器访问它? 如果我使用#{Rails.root}引用它,它将无法在生产环境中使用。 我不想每次在不同的网络服务器上部署时都要更改config.action_dispatch.x_sendfile_header,我不想设置config.serve_static_assets = true,因为这是对开发环境的一种扭曲。

1 个答案:

答案 0 :(得分:0)

您应该将它们放在Public之外的目录中,否则浏览器可以直接查看它们而无需身份验证。

我通常在Rails.root中创建一个目录,比如

Rails.root
 - app
 - config
 - db
 - secure_files

因此文件将出现在secure_files中。