2011-10-11 41 views
1

我不知道是否已經有一個輸入來做到這一點,另一個寶石,我不知道,我還沒有找到任何東西,這很奇怪,因爲它看起來像一個非常必要的行爲。爲Formtastic選擇has_many輸入還是新的?

我的意思是一些輸入使用<select name="user[person_id]"><input name="user[person_attributes][name]">,所以它會創建一個新的或從列表中選擇。

我想知道在開始執行「捆綁」輸入之前是否有這樣做,而不是使用兩個分開的輸入。如果選擇了某些內容,則會隱藏文本框。

回答

0

您幾乎必須爲動態位滾動您自己的JavaScript。您可以在表單輸入傳遞一個集合,包含一個特殊的選項,如:

<%= input :person, :as => :select, :collection => Person.all.map {|p| [p.name, p.id]} + ["Create a new person", "new"] %>

,然後滾你自己的JavaScript通過的onChange,當值設置爲「新」運行,顯示創建一個新人的表格。