2014-07-27 38 views
0

枚舉如果我有一個標準fields_for方法如:Rails的fields_for ID爲

<%= f.fields_for :exptypes do |builder| %> 
    <%= render 'exptype_fields', :f => builder %> 
<% end %> 

是否有這樣的方式來獲得:

<%= f.fields_for :exptypes do |builder, i| %> 
    <%= render 'exptype_fields', :f => builder, :i => i %> 
<% end %> 

這樣一個唯一的編號(i)傳遞到表單?

我想要做的是在partials中製作獨特的div標籤,以便我可以在代碼中的特定部分上運行javascript。

回答

0

你很幸運 - Rails已經自動完成了。從http://guides.rubyonrails.org/layouts_and_rendering.html下3.4.6局部變量

的Rails也使得內的部分稱爲 由收集可用的計數器變量,集合的成員的名字命名,然後_counter 。例如,如果您要呈現@products,則在 部分內,您可以引用product_counter來告訴您已渲染部分的次數 。這與 as::value選項不適用。

就你而言,這可能是exptype_fields_counter

+0

感謝那個布拉德。但是,我無法找到正確的本地方法名稱。我試過了:exptype_fields_counter,exptypes_fields_counter,exptype_counter,exptypes_counter;無濟於事。有沒有辦法來改變變量的名字? – Darkstarone

+0

什麼是實際對象的類? –

+0

'exptype_field_counter'?我認爲我誤導了你與錯誤的多元化.... –