[英]ruby on rails to_json include only count
简单的例子,我有两个具有has_many_belongs关联的Models关系
如何使用to_json函数users_count进行渲染?
class Place < ActiveRecord::Base
has_and_belongs_to_many :users
end
class User < ActiveRecord::Base
has_and_belongs_to_many :places
end
places = Place.all
render json: {desc:true, status: 1, data: places}.to_json(:include => [:users])
output: data[
{
place_id: 1,
users[]
}
我该如何输出:
output: data[
{
place_id: 1,
users_count: 10
}
我是初学者,请您能帮忙吗? )
这是一个如何获取嵌套关系的好例子: Rails对象关系和JSON渲染
似乎您不想要数据库列,而是想要统计拥有该位置的所有用户的信息。 您可以在app/models/place.rb
中定义一个类似于以下内容的函数:
def users_count
User.where(place_id: id)
end
然后,您可以像以下方法将其包含在数据中:
render json: {desc:true, status: 1, data: places}.to_json(include: :users, methods: :users_count)
这是一个如何在您的to_json
包含自定义方法的to_json
: http : to_json
我之前没有做过,所以让我知道它是如何工作的!
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.