gpt4 book ai didi

ruby-on-rails - ActiveRecord to_json : conditionally include associations

转载 作者:行者123 更新时间:2023-12-04 03:35:28 24 4
gpt4 key购买 nike

当我在模型上使用 .to_json 时,我试图找到一种有条件地包含关联模型的方法。

在一个简化的示例中,假设有以下两个模型:

class Foo < ActiveRecord::Base
has_many :bars
end

class Bar < ActiveRecord::Base
belongs_to :foo
attr_accessible :bar_type
end

我目前有:
f = Foo.find "3"
j = f.to_json(:include => { :bars => {:some, :attributes}}

这有效。我需要找到一种方法来仅包含具有 bar_type == 'what?' 的 bar 实例。

我希望有一种方法可以有条件地拉入 bar 实例,或者甚至可以使用范围来限制包含在 json 输出中的 bar。

最佳答案

如果条件没有改变,你可以这样做:

class Foo < ActiveRecord::Base
has_many :bars
has_many :what_bars, :class_name=>"Bar",
:foreign_key=>:foo_id,
:conditions=>"bars.bar_type = 'what'"
end

f = Foo.find "3"
j = f.to_json(:include => :what_bars)

关于ruby-on-rails - ActiveRecord to_json : conditionally include associations,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10317849/

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