【问题标题】:Double Render with layout and partials带有布局和局部的双重渲​​染
【发布时间】:2011-06-24 22:49:39
【问题描述】:

好的,所以我有一个尝试渲染布局的 show 方法,并且 show view 渲染了几个部分,但是我在 rails 中遇到了双重渲染错误。如何让它呈现布局和局部?请注意,它使用默认布局渲染得很好。

这是我的控制器操作

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) %>

【问题讨论】:

    标签: ruby-on-rails-3 layout partial-views render


    【解决方案1】:

    好的,想通了。很抱歉这个帖子,但我会回答,以防其他人有问题。基本上在我的控制器文件的顶部,我只需要这一行:

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

    【讨论】:

      【解决方案2】:

      不知道你为什么在你调用它的确切位置调用渲染。简而言之:你不应该在那里做。如果你这样做了,rails 会在方法返回控制权时再次尝试渲染,所以你要么必须在调用 render 后从方法返回,要么在方法中不调用它。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2013-04-30
        • 2015-01-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多