nop*_*ole 24 mime ruby-on-rails ruby-on-rails-3
代码
respond_to do |format|
format.html
format.json { render :json => @switches }
format.xml { render :xml => @switches.to_xml }
format.all { render :text => "only HTML, XML, and JSON format are supported at the moment." }
end
Run Code Online (Sandbox Code Playgroud)
以上内容适用于Rails 2.2.2.但是在Rails 3中,在浏览器上获取控制器/ index.html或索引都将落入最后一行:"目前仅支持HTML和JSON格式."
我能找到的唯一Rails文档是
目前只说:
respond_to :html, :xml, :json
Run Code Online (Sandbox Code Playgroud)
但它们需要单独的json和xml模板,并且无法处理"目前仅支持HTML和JSON格式"的情况.
nat*_*vda 43
在rails3中你会写:
respond_with(@switches) do |format|
format.html
format.json { render :json => @switches }
format.xml { render :xml => @switches }
format.all { render :text => "only HTML, XML, and JSON format are supported at the moment." }
end
Run Code Online (Sandbox Code Playgroud)
但这仅适用于与respond_to文件顶部的块对应,详细说明了预期的格式.例如
respond_to :xml, :json, :html
Run Code Online (Sandbox Code Playgroud)
即使在这种情况下,如果有人例如询问js格式,any则触发该块.
您还可以respond_to单独使用,如下所示:
@switches = ...
respond_to do |format|
format.html {render :text => 'This is html'}
format.xml {render :xml => @switches}
format.json {render :json => @switches}
format.all {render :text => "Only HTML, JSON and XML are currently supported"}
end
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助.
您可能会发现观看这一集的railscasts很有用,它说明了Rails 3中控制器的更改,特别是响应者类的更改(将respond_to放在控制器类本身中,并且仅在操作中使用respond_with @object):
http://railscasts.com/episodes/224-controllers-in-rails-3
| 归档时间: |
|
| 查看次数: |
35074 次 |
| 最近记录: |