2011-06-09 102 views
0

我想呈現div內的動作(例如new_sub_batch)的內容。渲染控制器在div內的動作的html內容

我試圖

<div id="newBatch"> 
<%= render :template => 'new_sub_batch.html.erb' %> 
</div> 

,但不顯示任何內容。

我甚至試過<%= render :action => 'new_sub_batch' %> ..什麼都沒有。

任何建議?

非常感謝

回答

0

嘗試文件渲染:你想要什麼

<div id="newBatch"> 
<%= render :file => 'directory/new_sub_batch.html.erb' %> 
</div> 
3

是諧音。將這兩個視圖將使用的通用標記放在一個文件中,並用下劃線前綴其名稱。然後調用render :partial => 'filename',其中filename是不帶下劃線的部分的名稱。

對於您的情況,您從new_sub_batch.html.erb中提取的代碼可能與您的其他sub_batch視圖在同一目錄中的_batch.html.erb部分中。你會渲染這部分:

render :partial => 'batch' 

在Rails3中,您可以簡單地使用render 'batch'

如果要將變量傳遞給部分,可以通過:locals來完成。假設你有你想傳遞一個@sub_batch變量,您的通話將是這個樣子:

render :partial => 'batch', :locals => { :sub_batch => @sub_batch } 

雖然這並不嚴格回答你的問題,我相信ruby-on-rails標籤內它來解釋Rails的更重要方式,而不是幫你做錯誤的方式。

+0

非常感謝您的建議..cheers – keli 2011-06-10 09:11:19