2014-09-25 159 views
0

在我的應用程序中,我有一個用於創建新旅程的窗體。模型旅行具有字段finish_address。爲了設置finish_address,我使用select以簡單的形式從用戶的地址簿中選擇地址。但是我想要做出更好的形式:如果沒有必要的地址,用戶可以使用輸入字段添加它。選擇或輸入

所以我需要形式來安裝類型finish_address的。我怎麼做到的?

回答

0

你有2個基本選項。

您可以在文字輸入使用自動完成,用填充值知道一個動態的作物下來。 有幾個寶石可以讓你開始在這個方向,如https://github.com/crowdint/rails3-jquery-autocomplete

或者,你可以添加一個「其他」選項來選擇輸入,填入您的已知值。當選擇「其他」項目時,在選擇輸入下方顯示一個具有相同名稱的以前隱藏的文本輸入。 「最低」元素將優先發送給控制器。

在控制器中,只是做一個find_or_create_by,用你提供的值。

這些選項都需要JavaScript,但可以相應地減少對JavaScript的需要,如果你讓你選擇非DB支持的屬性,操縱你的參數,可以爲他們進來的模型。這也可能有助於驗證。