Rails - 动态创建表单字段并保存它们

时间:2010-05-31 08:29:35

标签: ruby-on-rails ruby forms

我正在构建一个广告系统,用户可以为每种广告类型动态创建“字段”。


我的模型和示例值:

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]

此外,如何在保存广告记录时保存值


我希望这是可以理解的。如果不只是问我,我会试着澄清。

1 个答案:

答案 0 :(得分:0)

从表单中的初始字段(AdType)开始,然后使用javascript事件侦听器检查已选择的选项,并使用相应的html填充该字段。

jQuery可能有插件可以为你做这个,但用纯JavaScript编写它应该不会太困难。