为ActiveRecord查询添加更多限制

时间:2013-03-02 22:56:43

标签: ruby-on-rails activerecord rails-activerecord

我的查询是这样的:

@org = Org.includes(abc: [{def: :ghi}, :jkl_counts]).find(params[:id])

并且它有效,我在respond_to :json ... respond_with(@org)中使用它,将其传递给JBuilder进行解析但是问题是返回的Json将包含所有表。

我希望这样的事情可以做到,但我错了,这甚至都没有编译。

@org = Org.includes(abc: [{def: :ghi,  :order => "amount desc"}, :jkl]).find(params[:id])

1 个答案:

答案 0 :(得分:3)

您可以尝试在Measure中添加has_many关系,如下所示:

has_many :ghis
has_many :highest_jkl_count_ghis, :limit => 20, :order => 'amount desc', :class_name => 'Ghi'

然后,为你的@org实例做

@org = Org.includes(abcs: [{defs: :highest_jkl_count_ghis}, :jkl]).find(params[:id])