respond_to do |format|
format.html { render :html => @something }
format.json { render :json => @something }
format.xml { render :xml => @something }
end
这里我们有三种不同的格式:html,json,xml。那么哪一个实际上归还了?我们有三个不同的文件以.html,.xml,.json结尾吗?或者换句话说,respond_to是否渲染所有三个html,json,xml文件?
答案 0 :(得分:1)
respond_to是一个Rails辅助方法,它附加到Controller类(或者更确切地说,它的超类)。它正在引用将发送到View(将转到浏览器)的响应。
示例中的块是格式化数据 - 通过传入块中的“格式”参数 - 只要浏览器发出html或json数据请求,就会从控制器发送到视图。 在rails中你也可以写这个
class PostsController < ApplicationController
respond_to :html, :xml, :js
def index
@posts = Post.all
respond_with(@posts)
end
end
答案 1 :(得分:0)
respond_to
可以呈现三者中的每一个。正确的反应不是从respond_to
返回的,而是实际呈现的内容。
您可以找到完整的解释here