Mime Responds & Collector
实例方法
respond_torespond_to(*mimes, &block) - 全部内容(包含类型和内容)
respond_to 可以指定 format, 如 html. 而在 format 里又可以指定 variant, 如:phone.
format.html.phone # 行内风格
# 或
format.html{ |variant| variant.phone } # 代码块风格Collector
扩展了 AbstractController::Collector,并且,增加了对"变种"的支持。
常用代码:
respond_to do |format|
# format.class => ActionController::MimeResponds::Collector
format.html
format.js
end可见,respond_to 里的 format 是其实例对象。
Note: 想知道这里的
format.html和format.js等方法是如何生效的,可以参考 Abstract Controller 的【Collector】章节。
提供方法:
all & any
custom
negotiate_format
response此外,format.html 等对应着 Collector,而变种 format.html.phone 等对应着 Variant Collector.
有时候,如果遇到出错 ActionController::UnknownFormat,可考虑响应所有格式:
respond_to do |format|
format.html { ... }
format.all {render :text => "Only HTML supported"}
end最后更新于
这有帮助吗?