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。
谢谢
答案 0 :(得分: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