Rails 3.1:视图不在命名空间布局中呈现

Posted

技术标签:

【中文标题】Rails 3.1:视图不在命名空间布局中呈现【英文标题】:Rails 3.1: Views not rendering in namespace layout 【发布时间】:2011-06-01 13:37:06 【问题描述】:

在 routes.rb 中:

namespace :admin do
    root :controller => "base", :action => "index"
    resources :products
end

products 控制器继承自基本控制器:

class Admin::BaseController < ApplicationController
   #layout 'admin'
   def index
   end
end

class Admin::ProductsController < Admin::BaseController
   def index
   end
end

没有“layout 'admin'”,两个索引视图都可以正常渲染。

使用“layout 'admin'”,管理布局被渲染,但视图没有被渲染,尽管 WEBricks 消息:

Rendered admin/products/index.html.erb within layouts/admin

【问题讨论】:

当我有这个时,我几乎总是忘记了 yield 调用或它之前的“=”。你有吗? 【参考方案1】:

&lt;%= yield %&gt; 可能会有所帮助,伙计

【讨论】:

为此 +1 :D 哈哈,我读完后笑了几分钟;)

以上是关于Rails 3.1:视图不在命名空间布局中呈现的主要内容,如果未能解决你的问题,请参考以下文章

如何避免 Rails 脚手架将模型放入命名空间

仪表板命名空间的 Rails 路由帮助

Rails 3在另一个控制器中呈现部分形式

如何测试 Asp.Net MVC 视图是不是无例外地呈现?

在命名空间内设计

Rails 方式 - 命名空间