我想呈現div內的動作(例如new_sub_batch)的內容。渲染控制器在div內的動作的html內容
我試圖
<div id="newBatch">
<%= render :template => 'new_sub_batch.html.erb' %>
</div>
,但不顯示任何內容。
我甚至試過<%= render :action => 'new_sub_batch' %>
..什麼都沒有。
任何建議?
非常感謝
我想呈現div內的動作(例如new_sub_batch)的內容。渲染控制器在div內的動作的html內容
我試圖
<div id="newBatch">
<%= render :template => 'new_sub_batch.html.erb' %>
</div>
,但不顯示任何內容。
我甚至試過<%= render :action => 'new_sub_batch' %>
..什麼都沒有。
任何建議?
非常感謝
嘗試文件渲染:你想要什麼
<div id="newBatch">
<%= render :file => 'directory/new_sub_batch.html.erb' %>
</div>
是諧音。將這兩個視圖將使用的通用標記放在一個文件中,並用下劃線前綴其名稱。然後調用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的更重要方式,而不是幫你做錯誤的方式。
非常感謝您的建議..cheers – keli 2011-06-10 09:11:19