2013-02-17 52 views
0

快速問題:RoR - 構建長鏈物體

是否可以構建多個級別的嵌套對象?這個怎麼做?

@main_object = Object.new 
@main_object.build_anotherobject 

問題是:如何在這些子對象中創建更多對象?這是在Rails中做的正確事情嗎?

@main_object.another.others.build?? 

我不知道該怎麼做,如果這是實現多層嵌套對象的好方法。 另一個問題是關於在這些嵌套對象中處理外鍵。點亮如何獲得正確的FK? 我知道我需要保存在一個正確的順序對象,因爲我需要驗證行的存在於父表,然後插入有效的FK與PARENT_ID子裏面。

我能忘記這個問題的一個重要組成部分,並把許多信息1個表內,而不是,但我想在一個專業的方式來學習,避免重複數據庫信息是不是好點?例如,許多人/用戶生活在相同的州,同一個城市,所以我想我不應該一遍又一遍地保存相同的字符串。

感謝所有關注!

回答

0

您需要將其分配給一個變量:

another_object = @main_object.build_anotherobject 

然後:

another_object.even_more_objects.build 

重複,因爲你需要。

+0

威爾FK行嗎? Rails會在保存時知道如何設置正確的順序?如果一個父對象有一個孩子,並且該孩子有一個parent_id,我需要先保存父母並獲得該ID。 – josias 2013-02-17 22:58:43

+0

如果你使用嵌套屬性,你將不會有這個問題。 – 2013-02-18 01:08:32