0

Ruby on Rails 问题:在控制器内部,您有七个 REST 操作。几乎所有这些都响应做格式 xml/html 或 json。我不知道这是什么意思。你能解释一下它的目的吗?例如:

def index
  @tweets = Tweet.all

  respond_to do |format|
   format.html
   format.json { render json: @tweets }
  end
end

包含 html 和 json 的“响应”部分的目的是什么?这些格式有什么作用?另外,xml和html有什么区别?有时我会看到 xml,有时会看到 html。

谢谢

4

1 回答 1

1

它只是告诉您的控制器如何响应不同请求类型的一种方式。例如,您的客户可能需要您提供 html 或 xml 信息:

def index
 @people = Person.find(:all)

  respond_to do |format|
    format.html
    format.xml { render :xml => @people.to_xml }
  end
end

这就是说,“如果客户想要 HTML 来响应这个动作,就像我们以前一样做出响应,但是如果客户想要 XML,则以 XML 格式返回他们的人员列表。” (Rails 根据客户端提交的 HTTP Accept 标头确定所需的响应格式。)

http://apidock.com/rails/ActionController/MimeResponds/InstanceMethods/respond_to

于 2013-11-11T22:59:48.117 回答