Ruby on rails 在rails中注册自定义MIME::Type
根据我的需要,我正在尝试注册一个自定义MIME::Type,如下所示(包括text/plain) 但当我在rails控制台中运行以下命令时Ruby on rails 在rails中注册自定义MIME::Type,ruby-on-rails,Ruby On Rails,根据我的需要,我正在尝试注册一个自定义MIME::Type,如下所示(包括text/plain) 但当我在rails控制台中运行以下命令时 Mime::MY_JSON 它提供输出 #<Mime::Type:0x1739e5b0 @synonyms=[], @symbol=:my_json, @string="application/json"> 需要做什么 编辑 这是我在config/initializers中的条目 Mime::Type.register_alias "appl
Mime::MY_JSON
它提供输出
#<Mime::Type:0x1739e5b0 @synonyms=[], @symbol=:my_json, @string="application/json">
需要做什么
编辑
这是我在config/initializers中的条目
Mime::Type.register_alias "application/json", :my_json, %w( text/plain text/x-json application/jsonrequest )
根据,自定义MIME
类型也可以在控制器中完成。只需从控制器中调用此register
方法
Mime::Type.register "application/json", :my_json, %w( text/plain text/x-json application/jsonrequest )
您的mime类型现在可以在respond_to block中使用:
respond_to do
format :your_mime_type do
#do something
end
end
希望这能有所帮助:)由于这是一个非常老的问题,Rails 6的答案如下-
- 要注册自定义mime类型,应使用
。在此处添加类似的行,如下所示(如中所述)-config/initializers/mime\u types.rb
Mime::Type.register'application/json',:my_json,%w(text/plain text/x-json application/jsonrequest)
请不要在这里,如果您遵循API,则扩展名\u同义词
参数由符号而不是字符串组成
- 要获取具有
字符串
名称的mime类型,请使用-
Mime::Type.lookup('application/json')
- 要获取带有
符号
名称的mime类型,请使用-
Mime::Type.lookup_by_扩展名(:my_json)
在控制器中定义MIME类型而不是在初始值设定项中定义MIME类型有什么区别。我只是添加了另一种完成解决方案的方法:)
Mime::Type.register "application/json", :my_json, %w( text/plain text/x-json application/jsonrequest )
respond_to do
format :your_mime_type do
#do something
end
end