想象一下有3个选项的下拉菜单:A,B,C
和ID为myform
的div。 当用户从列表中选择一个选项时,应将div的内容替换为与该选项相对应的表单。事情是,形式没有共同之处。如何创建此动态表单?
我想以下列方式解决这个的:
- 创建一个新的控制器
FormCreator
- 创建一个新的动作
build_form
,这将需要一个类型作为参数(A/B/C) - 创建
A.html.erb
,B.html.erb
和C.html.erb
- 取决于类型,我将呈现或者A/B/C,与布局呈现禁用
- 使用ajax替换控制器生产的div的内容
有没有更好的方法来做到这一点?
有可能这样做的一个更合适的方法,但它的早期,昨天是圣帕特里克节,这将让你开始... – 2011-03-18 12:40:16
但是,如果我发布到与当前不同的控制器,这仍然适用? – Geo 2011-03-18 14:30:50
是的,你可以这样调用它:remote_function(:url => {:controller =>'formstuff',:action =>'FormCreator'} ......) – 2011-03-18 19:07:09