我们使用以下代码将formbuilder传递给new.js.erb中的render部分:
<% @f = ActionView::Helpers::FormBuilder.new(:expense, @expense, self, {}, proc {} ) %>
var rpt = $("<%= escape_javascript(render 'expenses/expense_for', :f => @f) %>");
@f是为partial生成的formbuilder。错误是:
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没有定义输入法。传入的formbuilder有什么问题?谢谢。
答案 0 :(得分:1)
错误表明ActionView::Helpers::FormBuilder
没有方法输入。据我所知,这是真的。 input
是SimpleForm或Formtastic方法,请尝试使用f.select
(您需要更改参数)。