【问题标题】:How to build a form builder object with FormBuilder.new in rails 3.1.4如何在 Rails 3.1.4 中使用 FormBuilder.new 构建表单构建器对象
【发布时间】:2012-07-27 22:31:44
【问题描述】:

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

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

有一个错误说:

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

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

【问题讨论】:

  • 通过将@f 的定义放在同一个js.erb 文件中解决了这个问题。不知道为什么。

标签: javascript jquery ruby-on-rails ruby-on-rails-3


【解决方案1】:

您不会让它与控制器中的这些参数一起工作的原因是您为“模板”参数调用“自我”,这实际上只是模板......来自模板内。在控制器中,self是控制器,不是模板。

【讨论】:

    猜你喜欢
    • 2020-03-28
    • 2021-07-29
    • 1970-01-01
    • 2017-04-11
    • 2017-03-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多