2011-04-03 61 views
6

,所以我有:partial渲染一個問題...渲染:部分有:佈局不考慮工作

我:

index.html.erb<%= render :partial => 'partial_test', :layout => 'partial_test' %> index.html.erb' layout with content of <%=%的收率內容視圖>`

_partial_test.html.erb視圖與簡單的字符串 _partial_test.html.erb佈局的內容的內容<div id="_partial"><%= yield %></div>

渲染後,我從控制器(視圖+佈局)索引操作獲取適當的內容,但從渲染部分我只從視圖獲取內容,佈局缺失。

我應該得到的東西是這樣的: <div id="index"> <div id="_partial"> simple string </div> </div>

,但我發現 <div id="index"> simple string </div>

這很奇怪,因爲當我渲染部分與內部控制指數動作的佈局,我得到的視圖+佈局的適當渲染(僅用於部分)。

需要幫助:)

回答

13

而不是使用

<%= render :partial => 'partial_test', :layout => 'partial_test' %>

什麼我需要使用的是

<%= render :partial => 'partial_test', :layout => 'layouts/partial_test' %>

1

當我讀了Rails的文檔,你不想:

<%= render :partial => 'partial_test', :layout => 'partial_test' %> 

你想:

​​

我不知道如何/爲什麼您的佈局和部分名稱相同,但請查看Rails指南:http://guides.rubyonrails.org/layouts_and_rendering.html,第3.4.3節。

+0

嗨@Steve,我曾閱讀本指南,如果我不使用':partial'局部佈局不會加載。在這種情況下文件名不是無關緊要的。 Thx迴應。 – xyz 2011-04-03 21:09:41