0

我们使用以下代码将表单构建器传递给 new.js.erb 中的渲染部分:

  <% @f = ActionView::Helpers::FormBuilder.new(:expense, @expense, self, {}, proc {} ) %> 
  var rpt = $("<%= escape_javascript(render 'expenses/expense_for', :f => @f) %>");

@f 是为部分生成的表单生成器。错误是:

ActionView::Template::Error (undefined method `input' for #<ActionView::Helpers::FormBuilder:0x60c6828>):
    1: <%= f.input :expense_for, :label => "栏目: ", :collection => @expense_for  %>

部分 _expense_for.html.erb 是:

<%= f.input :expense_for, :label => "栏目: ", :collection => @expense_for  %>

如错误所示,上述部分中未为 f formbuilder 定义输入法。传入的表单生成器可能有什么问题?谢谢。

4

1 回答 1

1

该错误表示ActionView::Helpers::FormBuilder没有方法输入。据我所知,这是真的。input是 SimpleForm 或 Formtastic 方法,请尝试使用f.select(您需要更改参数)。

于 2012-08-23T13:24:05.307 回答