2012-01-07 55 views
0

在我的應用程序中,用戶可以註冊關於錦標賽的信息。如果用戶是付費用戶,她可以填寫其他信息,否則其他信息的字段不可用(可見但禁用)。Rails中的混合形式

我把這個作爲兩個對象:TournamentTournamentExtras其中前者has_one :tournament_extras和後者belongs_to :tournamentTournamentaccepts_nested_attributes_for :tournament_extras

我想這顯示爲一個單一的形式。兩個對象中的字段是相關的,這意味着您可以添加開始日期(至Tournament),但只有付費客戶可以添加結束日期(至TournamentExtras),但由於這兩個字段在邏輯上已實現,所以它們應該在形成。

我該怎麼做?

我試圖打開form_forfields_for循環與相互之間(添加任何領域之前)希望我可以添加任何我喜歡的領域。這沒有用;顯然你不能在字段loop(?)內引用表單對象。

回答

1

form_form和fields_for應該相互協作。

有點爲這個骨架是:

form_for(@tournament) do |f| 
    f.fields_for(@tournament.tournament_extra) do |g| 
    end 
end 
+0

它的工作原理,謝謝。我想,因爲一些命名的東西,我無法開始工作。 – fiskeben 2012-01-07 16:05:35