2010-05-06 43 views
0

當嘗試我以下的控制器代碼,視圖呈現沒有是否可以在控制器內部使用佈局選項的部分?使用佈局

def xyz 
    render :partial => 'platinum_home', :layout => 'platinum_layout' 
    end 

但是如果我做了局部

<% render(:layout => "platinum_layout") do %> 
    blah blah blah 
<% end %> 

它工作得很好,裏面的下面,是第一個例子不可能使用rails?

+0

它應該工作得很好。你使用的是什麼版本的導軌?您的控制器頂部是否有佈局宏調用? – concept47 2010-05-06 07:44:33

回答

2

在控制器的頂部添加以下內容:

class SomeController < ApplicationController 
    layout "platinum_layout", :only => :xyz 
1

在控制器部分呈現最常使用的Ajax調用一起只更新頁面上的一個或幾個元素,而無需重新加載。從控制器渲染partials可以在完整頁面渲染(通過在模板中調用它)和子頁面更新(從響應Ajax調用的控制器操作)中使用相同的部分模板。默認情況下,不使用當前佈局。

所以要使用剛剛使用的當前佈局。

def xyz 
    render :partial => 'platinum_home', :layout => true 
    end