0

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

4

1 に答える 1

1

エラーは、ActionView::Helpers::FormBuilderメソッド入力がないことを示しています。私が知る限り、それは本当です。inputSimpleForm または Formtastic メソッドである場合は、試してくださいf.select(引数を変更する必要があります)。

于 2012-08-23T13:24:05.307 に答える