次のコードを使用して、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 は、パーシャル用に生成されたフォームビルダーです。エラーは次のとおりです。
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 に対して入力メソッドが定義されていませんでした。渡されたフォームビルダーの何が問題なのですか? ありがとう。