2013-04-07 85 views
0

這工作:軌道4.0-β,fields_for不接受多於一個參數

<%= f.fields_for :exercise do |builder| %> 
      <%= render 'exercise_fields', f: builder %> 
     <% end %> 
     <%= add_fields "Add Exercise", f, :exercises %> 

    <%= f.submit %> 

但添加另一參數(在這種情況下到對象的引用)引發ArgumentError:

<% @workout.exercises.each do |exercise| %> 

     <%= f.fields_for :exercise, exercise do |builder| %> 
      <%= render 'exercise_fields', f: builder %> 
     <% end %> 
     <% end %> 
     <%= add_fields "Add Exercise", f, :exercises %> 

    <%= f.submit %> 

錯誤:錯誤的參數數量(2爲1)

我已經在不同的地方看到過多次。這是一個錯誤還是我犯了一個簡單的錯誤?

回答

0

嘗試將其傳遞作爲數組:

<%= f.fields_for [:exercise, exercise] do |builder| %> 
0

Woops,這當然是一個簡單的錯誤。我重寫了自定義表單構建器中的fields_for helper方法,我只將它定義爲具有一個參數。