2010-05-31 63 views
1

我正在構建一個廣告系統,用戶可以在其中爲每種廣告類型動態創建「字段」。Rails - 動態創建表單域並保存它們


我的模型和示例值:

AdType: 
| id | name 
|----|----- 
| 1 | Hotel 
| 2 | Apartment 

AdOption: 
| id | ad_type_id | name 
|----|------------|----- 
| 1 | 1   | Star rating 
| 2 | 1   | Breakfast included? 
| 3 | 2   | Number of rooms 

AdValue: (Example after saving) 
| id | ad_id | ad_option_id | value 
|----|-------|---------------|------ 
| 1 | 1  | 1 (stars)  | 5 
| 2 | 1  | 2 (breakfast) | true 

Ad: (Example after saving) 
| id | description  | etc.... 
|----|-----------------|-------- 
| 1 | very nice hotel | ....... 

所以我們可以說,我想創建一個新的廣告,我選擇酒店的廣告類型。 然後,我需要我的觀點動態地創建領域是這樣的:(我猜?)

[Label] Star rating: 
[hidden_field :ad_id] [hidden_field :ad_option_id] [text_field :value] 

[Label] Breakfast included? 
[hidden_field :ad_id] [hidden_field :ad_option_id] [text_field :value] 

而且也,如何保存價值的廣告保存記錄時


希望這是可以理解的。如果不只是問,我會盡力澄清。

回答

0

從您的表單(AdType)中的初始字段開始,然後使用javascript事件偵聽器來檢查哪個選項已被選中,並使用適當的html填充該字段。

jQuery可能有插件可以爲你做到這一點,但在普通JavaScript中編寫它不應該太困難。