2010-06-19 51 views
1

我在我的視圖中有一個循環呈現許多分支:每個分支都是一個簡單的切換,用於在記錄上執行保存/非保存操作。每個部分切換則布爾值使用JavaScript的領域本身進行更新,並說該控制器完成:Rails:渲染一個偏右的div?

$ controller 
render :partial => "save_unsave_buttons", :locals => {:matching => @matching}, :layout => false 

# view  
<div id=<%= "save#{match.id}" -%>> 
<%= render :partial => "save_unsave_buttons", :locals => {:matching => match} %> 
</div> 

當控制器再現save_unsave_buttons部分,它不是渲染到右側DIV;它只是更新它找到的第一條記錄的部分。我怎樣才能讓控制器將save_unsave_buttons partial部分渲染成具有正確ID的div?

謝謝!

+0

能夠看到你在談論將是有益的循環。 我也不完全確定你想要完成什麼。 – 2010-06-19 03:37:30

+1

爲什麼你渲染控制器的部分形式?我們需要看到更多。 – thomasfedb 2010-06-19 07:56:26

回答

0

只看你提供給你的問題的小信息,我猜代碼中的罪魁禍首是div標籤。

div標記應該在部分內。

編輯:你的代碼所做的是創建一個div,其ID爲save(the first match.id)並呈現其中的部分內容。如果我正確地理解了你,你需要div爲每個match。爲此,div本身應該在部分內。

所以通過match.idcollection部分。你的觀點應該是:

# view  

<%= render :partial => "save_unsave_buttons", :locals => {:matching => match, :collection => {@match_id => match.id} } %> 

,並在部分_sav_unsave_buttons.html.erb

<% content_tag :div, id => "save#{@match_id}" do %> 

    #YOUR CODE GOES HERE! 

<% end -%>