1

我们需要在控制器中使用 FormBuilder.new 创建一个表单构建器对象。这是我们现在正在做的事情:

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

有一个错误说:

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

我们认为 @f 不是表单构建器对象,这就是为什么 fields_for 无法识别的原因。问题似乎与定义中的当前视图的 self 参数有关。使用 FormBuilder 构建表单构建器对象的正确方法是什么?谢谢。

4

1 回答 1

0

你不打算让它与控制器中的这些参数一起工作的原因是你为'template'参数调用'self',它实际上只是模板......来自模板内。在控制器中,self 是控制器,而不是模板。

于 2013-01-08T18:53:05.283 回答