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

ruby-on-rails – Rails渲染为json,包括嵌套属性和排序

发布时间:2020-12-16 19:51:07 所属栏目:百科 来源:网络整理
导读:我试图将一个对象渲染为json,包括嵌套的属性,并通过created_at属性进行排序. 我正在使用代码: format.json { render :json = @customer,:include = :calls} 如何通过created_at属性排序调用? 解决方法 如果您认为rails的工作原理,调用只是一种与Call模型相
我试图将一个对象渲染为json,包括嵌套的属性,并通过created_at属性进行排序.

我正在使用代码:

format.json  { render :json => @customer,:include => :calls}

如何通过created_at属性排序调用?

解决方法

如果您认为rails的工作原理,调用只是一种与Call模型相关的方法.有几种方法可以做到这一点.一个是在订单上设置订单选项.一个是改变全局的默认范围,另一个是在客户模型中创建一个返回调用的新方法(如果您希望在编码之前对调用进行任何操作,则有用).

方法1:

class Customer < ActiveRecord::Base
  has_many :calls,:order => "created_at DESC"
end

方法2:

class Call < ActiveRecord::Base
  default_scope order("created_at DESC")
end

方法3:

class Call < ActiveRecord::Base
  scope :recent,order("created_at DESC")
end

class Customer < ActiveRecord::Base
  def recent_calls
    calls.recent
  end
end

然后你可以使用:

format.json  { render :json => @customer,:methods => :recent_calls}

(编辑:李大同)

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

    推荐文章
      热点阅读