我应该在Rails 3中通过send_file放置要提供的文件?
假设我正在提供一个浏览器扩展,可能会在一两个月内更新一次,我应该将它放在资产管道中吗?我怎样才能从控制器访问它?
如果我使用#{Rails.root}
引用它,它将无法在生产环境中使用。
我不想每次在不同的网络服务器上部署时都要更改config.action_dispatch.x_sendfile_header
,我不想设置config.serve_static_assets = true
,因为这是对开发环境的一种扭曲。
答案 0 :(得分:0)
您应该将它们放在Public之外的目录中,否则浏览器可以直接查看它们而无需身份验证。
我通常在Rails.root中创建一个目录,比如
Rails.root
- app
- config
- db
- secure_files
因此文件将出现在secure_files中。