请教大家一个问题:在 ruby on rails 的 controller 里的方法中的 respond_to do |format| 这句什么意思?
根据请求的格式,返回不同的数据……
嗯,谢谢!还有,他这种返回格式 format.json { render json: @person }后面的参数是什么意思
#1 楼 @francistm 嗯,谢谢!还有,他这种返回格式 format.json { render json: @person }后面的参数是什么意思
完整的话是这样的
respond_to do |format| format.json do render({ json: @person }) end end
#4 楼 @qhwa 哦,是这样的,谢谢你!
#3 楼 @mr_zou123 你是指 @person 这个么?把 @person 对象按照 JSON 的格式输出吧,相当于 render :text => @person.to_json 一样。
@person
render :text => @person.to_json
#1 楼 @francistm 哦,明白了,谢谢你!
@francistm render json: @person 应该是相当于 render json: @person.to_json
render json: @person
render json: @person.to_json
respond_to 是根据请求的头信息来判断来调用那种 block,实现方法类似
def xml yield if self.accept_header == "text/xml" end def html yield if self.accept_header == "text/html" end def json yield if self.accept_header == "text/json" end
format 实际是一个 http 请求包装程序。