【发布时间】:2013-12-29 07:52:46
【问题描述】:
我想在 Rails 中通过控制器操作提供静态内容,就像 Rails 从公共目录提供静态内容一样。我不想只更改公共目录的路径或向 Rails 添加另一个路径以从那里提供文件。我想显式处理对控制器中特定文件的请求,以根据请求的文件验证请求。
我天真地尝试使用send_file,但后来我不能再使用范围请求了。
class MyController < ApplicationController
def dummyAction
filePath = 'foo/bar/baz.mp3'
send_file(filePath, {:filename => "baz.mp3", :type => "audio/mpeg"})
end
end
我更喜欢使用 Rails 而不是自己编写所有代码。 Rails 中有什么东西可以做到这一点吗?也许是宝石?
【问题讨论】:
-
这个答案是否有关“通过 send_file 接受字节范围请求”的帮助? => stackoverflow.com/a/7604330/2463468
-
我希望有一个更优雅的解决方案。 Rails 似乎有提供静态内容的工具。范围请求在从公共目录提供 MP3 文件时起作用。
标签: ruby-on-rails ruby static-content