我的mime_types.rb文件有
Mime::Type.register "application/myfoo", :myfoo
我有一个文件public/a/test.myfoo
浏览到localhost:3000/a/test.myfoo
将文件返回为 text/plain
。
我正在使用 Chrome 22,接受标头是
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
我正在将 Rails 3.2.8 与开发 Web 服务器一起使用。我错过了什么吗?
控制器中相应的操作如下所示(我还没有测试过 - 只是为了给你一个方向):
render :file => @somedir + "/test.myfoo", :content_type => Mime::myfoo
具体来说,:content_type
论点是最重要的论点。
从 Rails 5 开始,将其放入初始值设定项中是有效的:
Rack::Mime::MIME_TYPES[".manifest"]="text/cache-manifest"
我不确定其他版本。
Mime::Type.register "text/cache-manifest", :manifest
仅适用于导轨控制器。
ActionDispatch::Static
来源 : https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/static.rb