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

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails渲染为json,包括嵌套属性和排序前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我试图将一个对象渲染为json,包括嵌套的属性,并通过created_at属性进行排序.

我正在使用代码

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

如何通过created_at属性排序调用

解决方法

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

方法1:

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

方法2:

  1. class Call < ActiveRecord::Base
  2. default_scope order("created_at DESC")
  3. end

方法3:

  1. class Call < ActiveRecord::Base
  2. scope :recent,order("created_at DESC")
  3. end
  4.  
  5. class Customer < ActiveRecord::Base
  6. def recent_calls
  7. calls.recent
  8. end
  9. end

然后你可以使用:

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

猜你在找的Ruby相关文章