2011-07-07 198 views
1

我使用RoR 3爲自己創建一個新網站。我有3個模型,如下所示:Ruby on Rails 3 - 嵌套模型表格

Ship model has many ShipClasses 
Ship model has many ShipEntries 
ShipEntry belongs to Ship 
ShipEntry belongs to ShipClass 

當我創建Ship I時,爲ShipClasses和ShipEntries生成嵌套表單。我的問題是當創建一個ShipEntry它應該有一個新的ShipClasses分配給它,但在創建Ship時,我必須重新編輯Ship並將ShipClasses分配給ShipEntry由於新尚未在數據庫中創建ShipClasses。是否有可能在創建船舶時將新創建的ShipClasses分配給ShipEntry

我希望有人得到我的意思,如果你有任何麻煩理解這個讓我知道,我會嘗試進一步解釋。

乾杯

EEF

+0

每個'ShipEntry'屬於只有一個'ShipClass'? – Bohdan

+0

是的,這是正確的 – RailsSon

回答

2

你可以實現你想主動回調做什麼。

您可以使用類似after_create的東西來鏈接兩者。

after_create :link_ship_entry_and_classes 

def link_ship_entry_and_classes 
    # whatever you need to do here 
end 

你可以閱讀一切有了解AC:http://api.rubyonrails.org/classes/ActiveRecord/Callbacks.html

希望這有助於!

+0

是的。這是我的確切想法,但知道鐵軌及其奇蹟,我認爲它可能有一個驚人的方法來實現這一點。歡呼迴應壽! – RailsSon