2013-11-03 44 views
0

我有一個架構是這樣的...ActiveRecord的嵌套關聯的多到一

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

我想獲得所有嵌套酒吧和所有酒吧嵌套酒吧。那可能嗎?

我希望我試圖保持例子抽象有道理:)

回答

1

我認爲正確的方法來對to_json方法鳥巢模型如下:

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

根據API爲to_json 方法。

我希望它能幫助:)

0

我居然也得到了同樣的「無法克隆符號文件」的錯誤,而從控制器的方法渲染JSON。避免它像這樣:

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