如何使用rails 3.1.4中的FormBuilder.new构建表单生成器对象

How to build a form builder object with FormBuilder.new in rails 3.1.4

本文关键字:表单 构建 对象 new FormBuilder rails 何使用 中的      更新时间:2024-04-14

我们需要在控制器中使用FormBuilder.new创建一个表单生成器对象。以下是我们现在正在做的:

@f = ActionView::Helpers::FormBuilder.new(:invoice, @invoice, self, {}, proc {} ) 

有一个错误说:

ActionView::Template::Error (undefined method `fields_for' "invoiceController.."

我们相信@f不是一个表单生成器对象,这就是为什么fields_for不能被识别的原因。这个问题似乎与自我参数有关,而自我参数在定义上是当前的观点。使用FormBuilder构建表单生成器对象的正确方法是什么?谢谢

您不能让它与控制器中的这些参数一起工作的原因是您为"template"参数调用了"self",而"template"参数实际上只是模板。。。从模板中。在控制器中,self是控制器,而不是模板。