gpt4 book ai didi

ruby-on-rails - 使用 :limit in to_json Statement?

转载 作者:数据小太阳 更新时间:2023-10-29 08:37:53 26 4
gpt4 key购买 nike

我目前正在努力使用 Rails 中的 to_json Helper

我想包括前 5 个 curve_measurements。这就是我的代码目前正在查看的内容:

Sector.first.curves.to_json(:include => {:curve_measurements => {:except => [:created_at,:updated_at,:curve_id],:limit => 5}, :curvetype =>{}})

结果包括所有 curve_measurment 值,而不仅仅是前 5 个。所以看起来 :limit 参数不会影响我的查询。

如何只包含 5 或 10 个 curve_measurements 而不是全部?

最佳答案

两种选择:

只需在 Curve 中创建一个名为 five_cms 的方法,例如:

def five_cms; curve_measurements.limit(5); end

然后做:

Sector.first.curves.to_json({
:include => {
:five_cms => {
:except => [:created_at,:updated_at,:curve_id],
},
:curvetype => {}
}
})

或者在Curve 中为您的关联添加一个限制。在 Rails 4 中,您可以这样做:

has_many :five_cms, lambda { limit(5) }, class_name: 'CurveMeasurement'

在 Rails 3 及更早版本中,我认为是:

has_many :five_cms, limit: 5, class_name: 'CurveMeasurement'

关于ruby-on-rails - 使用 :limit in to_json Statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24652551/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com