2011-06-24 96 views
1

好吧,所以我有一個show方法試圖渲染布局和show view渲染一些partials,但我在rails中得到一個雙渲染錯誤。我如何獲得它來渲染布局和部分?請注意,它使用默認佈局呈現得很好。Double Render with layout and partials

這裏是我的控制器操作

def show 
    @site = Site.find_by_subdomain!(request.subdomain) 
    @page = @site.pages.find_by_name('index') 

    render :layout => "layouts/mobile" 
    respond_to do |format| 
    format.html # show.html.erb 
    format.xml { render :xml => @site } 
    end 
end 

而且我認爲只是看起來像這樣:

<%= render(:partial => "page", :object => @page) %> 

回答

2

好了它。對不起,我會回答,以防其他人遇到問題。基本上我的控制文件的頂部,我只需要這一行:

layout "layouts/mobile", :only => [:show] 
+0

完全正確:-) – mkro

0

不知道爲什麼你叫呈現在您在您調用它的確切地點的行動。總之:你不應該在那裏做。如果這樣做,當方法返回控件時,rails將嘗試再次呈現,因此您必須在調用render之後從方法返回,或者不在方法中調用它。