在我的一个轨道控制器中,我必须响应几种格式,所以我使用典型的respond_to链:
respond_to do |format| format.html { ... } format.mobile { ... } format.jpg { ... } format.xml { ... } format.js { ... } end
通常,{…}部分是以多种格式重复的.在这种情况下,最好的方法是保持干燥?在html,mobile和xml有一个“重复”动作的情况下,我想做这样的事情:
respond_to do |format| format[:html,:mobile,:xml] { ... } format.jpg { ... } format.js { ... } end
非常感谢.
解决方法
你有没有尝试过format.any(:html,:mobile,xml)?
示例(2011/9/14增加)
响应还允许您通过使用以下命令为不同的格式指定一个公共块:
def index @people = Person.all respond_to do |format| format.html format.any(:xml,:json) { render request.format.to_sym => @people } end end
在上面的例子中,如果格式为xml,它将呈现:
render :xml => @people
或者如果格式是json:
render :json => @people
原文地址:https://www.jb51.cc/ruby/273789.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。