我的mime_types.rb文件有
Mime::Type.register "application/myfoo", :myfoo
我有一个文件public/a/test.myfoo
浏览到localhost:3000/a/test.myfoo
会将文件返回为text/plain
。
我使用的是Chrome 22,而Accept标头是
Accept:text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
我在开发Web服务器上使用Rails 3.2.8。我错过了什么吗?
答案 0 :(得分:0)
确保在您的控制器中对应的操作看起来像这样(我没有测试过 - 只是为了给你一个方向):
render :file => @somedir + "/test.myfoo", :content_type => Mime::myfoo
具体来说,:content_type
参数是最重要的参数。
答案 1 :(得分:0)
从Rails 5开始,将它放在初始化程序中就可以了:
Rack::Mime::MIME_TYPES[".manifest"]="text/cache-manifest"
我不确定其他版本。
Mime::Type.register "text/cache-manifest", :manifest
仅适用于rails控制器。
来源ActionDispatch::Static
:https://github.com/rails/rails/blob/master/actionpack/lib/action_dispatch/middleware/static.rb