2010-06-07 68 views
0

好吧,我知道我的標題有點模糊,但它最能描述我遇到的問題。使用對象集合時呈現部分時形式爲空白。幫幫我!

本質上,我有一個用戶列表,並希望能夠使用AJAX在線編輯他們的信息。

由於用戶顯示在行中,我正在使用partial來呈現數據和表單(最初將由ajax隱藏),但是,當行呈現時,當前只有最後一項具有它表單的字段填充。

我懷疑這與所有的表單字段具有相同的id,並且使DOM混淆的事實有關。但我不知道如何確保身份證是唯一的。

這裏是一個小例子:

筆者認爲:

<%= render :partial => 'shared/user', :collection => @users %> 

我的部分(壞了,只是形式),注意,我現在用的是局部變量「用戶」

<% form_for user, :html => {:multipart => true} do |f| -%> 
<%= f.label :name, "Name*" %> 
<%= f.text_field :title, :class => "input" %> 
<%= f.label :Address, "Address" %> 
<%= f.text_field :address, :class => "input" %> 
<%= f.label :description, "Description*" %> 
<%= f.text_area :description, :class => "input" %> 
<% end -%> 

當呈現html時,每個表單都有一個唯一的id(用於用戶的id),但元素本身都具有相同的id,並且只有最後一個用戶表單實際上正在填充值。

有沒有人有任何想法? :)

在此先感謝!

回答

1

好吧,在吃了一些午餐並重新獲得一些腦細胞之後(並且在谷歌的幫助下),我想到了這一點。

時,順便收集到的部分是這樣的:

<%= render :partial => 'shared/user', :collection => @users %> 

Rails的創建,你可以在「variable_counter」的形式,用它來定義一個指數爲形式的計數器變量:

<% form_for user, :index => user_counter, :html => {:multipart => true} do |f| -%> 

這將索引號添加到表單ID以及所有字段ID,並解決了我的小問題。 :)

我希望這可以幫助別人解決這個問題。 :)