加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

ruby-on-rails – rails – DRY respond_to重复操作

发布时间:2020-12-16 20:37:42 所属栏目:百科 来源:网络整理
导读:在我的一个轨道控制器中,我必须响应几种格式,所以我使用典型的respond_to链: respond_to do |format| format.html { ... } format.mobile { ... } format.jpg { ... } format.xml { ... } format.js { ... }end 通常,{…}部分是以多种格式重复的.在这种情况
在我的一个轨道控制器中,我必须响应几种格式,所以我使用典型的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增加)

从rails doc

响应还允许您通过使用以下命令为不同的格式指定一个公共块:

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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读