Ruby on rails 3 使用布局和局部进行双重渲染
好的,我有一个show方法,它尝试渲染一个布局,show视图渲染两个部分,但是我在rails中遇到了一个双重渲染错误。我如何让它呈现布局和部分?请注意,它使用默认布局渲染效果良好 这是我的控制器动作Ruby on rails 3 使用布局和局部进行双重渲染,ruby-on-rails-3,layout,partial-views,render,Ruby On Rails 3,Layout,Partial Views,Render,好的,我有一个show方法,它尝试渲染一个布局,show视图渲染两个部分,但是我在rails中遇到了一个双重渲染错误。我如何让它呈现布局和部分?请注意,它使用默认布局渲染效果良好 这是我的控制器动作 def show @site = Site.find_by_subdomain!(request.subdomain) @page = @site.pages.find_by_name('index') render :layout => "layouts/mobile" r
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) %>
“page”,:object=>@page)%>
好的,我知道了。很抱歉发了这个帖子,但我会回答的,以防其他人有问题。基本上,在控制器文件的顶部,我只需要这一行:
layout "layouts/mobile", :only => [:show]
不知道为什么在调用render的确切位置在操作中调用render。简而言之:你不需要在那里做。如果这样做,rails将在方法返回控件时再次尝试渲染,因此您要么在调用render后从方法返回,要么不在方法中调用它