活动记录嵌套关联多对一



我有一个这样的模式...

class Foo < ActiveRecord::Base
    has_many :bars
end
class Bar < ActiveRecord::Base
    belongs_to :foo
    belongs_to :bar
end
class Baz < ActiveRecord::Base
    has_many :bars
end

我正在尝试将所有三个对象嵌套并在 JSON 中分解,所以我有以下代码......

foo = Foo.first
foo.to_json(:include => {:bars => :baz})

但是我遇到了以下异常...

无法克隆符号文件:try.rb 位置:克隆行:36

我想让 Foo 嵌套所有条形图和所有 baz 形图嵌套的条形图。这可能吗?

我希望我试图保持示例抽象是有意义的:)

我认为在

该方法上嵌套模型的正确方法如下to_json:

foo.to_json(:include => { :bars => { :include => { :baz } } }

根据to_json的 API方法。

我希望它对:)有所帮助

从控制器方法渲染 JSON 时,我收到相同的"无法克隆符号文件"错误。 像这样避免它:

render :json => @team.to_json( :include => [:members] )