ruby on rails-responsd_to格式的全套选项.*



我正在研究呈现更复杂的响应。

具体来说,我正在搜索用于格式化具有多个级别的yaml和json响应的选项,但现在我找不到任何关于选项的api信息。

我在其他示例控制器中看到了一些关于:include和:的内容。我想知道对于更复杂的文档呈现(特别是yaml,但我想全面了解)有哪些选项

例如:

 def index
    @people = Person.find(:all)
    respond_to do |format|
      format.*  ?????????????????????
    end
  end

背景:试图组装对我来说更复杂的yaml输出,并从控制器中查看我可以做什么以及如何做,而不是必须构建一个特定的视图。

支持一组标准的MIME类型::html、:xhtml、:text、:txt、:js、:css、:ics、:csv、:xml、:rss、:atom、:yaml、:url_encoded_form、:multipart_form、:json。

要创建新的,请在mime_types.rb初始值设定项中注册它们

# Add new mime types for use in respond_to blocks:
# Mime::Type.register "text/richtext", :rtf
# Mime::Type.register_alias "text/html", :iphone

我希望这能有所帮助。

在阅读了rails代码之后,我可以放心地说,没有什么是你不知道的。(尽管API文档中似乎缺少块形式的respond_to文档)

基本上有两种方法可以使用respond_to

声明性的

class WidgetsController
  respond_to :html, :xml, :json, only: [:index, :show]
  def index
    @widgets = Widget.all
    respond_with @widgets
  end
  …
end

class WidgetsController
  def index
    @widgets = Widget.all
    respond_to do |format|
      format.html #do default
      format.pdf {…} # handle in block
      format.any(:json, :xml) {…} # handle anything listed
    end
  end
  …
end

不能在块形式上使用选项(这是一个完全不同的方法定义),:only:except是声明性版本唯一接受的选项。

相关内容

  • 没有找到相关文章

最新更新