我们使用以下代码将表单构建器传递给 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 定义输入法。传入的表单生成器可能有什么问题?谢谢。