我的application.html.erb是一个经典文件,其中<%= yield%>声明。如果我去domain.com/controller/action,它会产生相应目录中的视图。相反,它只是提取视图(正确的视图,但没有应用程序包装器)。 (除了应用程序之外没有其他布局)
这是我的第二个rails应用程序。另一个顺利进行,但这个问题给了我一个接一个的问题。我傻瓜和谷歌搜索,什么都没有。我甚至重新启动了webrick,虽然我没有重启apache(代理通过webrick),因为我认为这有点过分。更不用说我们托管了一些低容量的网站。
最奇怪的是,当我调用root即:domain.com时,它调用application.html.erb并生成到主视图。
我确实使用了脚手架,但我的理解是调用脚本/生成脚手架只是构建文件而不配置除路由之外的任何东西。我已经修好了。
我认为可能有助于回答问题。如果您需要更多,请告诉我。
显示布局应用程序未加载的Devel日志:
Processing HomeController#index (for 24.20.194.187 at 2009-09-03 15:24:15) [GET]
Parameters: {"action"=>"index", "controller"=>"home"}
ESC[4;35;1mCompany Columns (2.6ms)ESC[0m ESC[0mSHOW FIELDS FROM `companies`ESC[0m
ESC[4;36;1mCompany Load (0.4ms)ESC[0m ESC[0;1mSELECT * FROM `companies` WHERE (`companies`.`subdomain` = 'slate') LIMIT 1ESC[0m
Rendering template within layouts/application
Rendering home/index
ESC[4;35;1mUser Columns (2.6ms)ESC[0m ESC[0mSHOW FIELDS FROM `users`ESC[0m
ESC[4;36;1mUser Load (0.4ms)ESC[0m ESC[0;1mSELECT * FROM `users` WHERE (`users`.`id` = '2') LIMIT 1ESC[0m
Processing UsersController#index (for 24.20.194.187 at 2009-09-03 15:24:03) [GET]
Parameters: {"action"=>"index", "controller"=>"users"}
ESC[4;36;1mCompany Columns (2.6ms)ESC[0m ESC[0;1mSHOW FIELDS FROM `companies`ESC[0m
ESC[4;35;1mCompany Load (0.4ms)ESC[0m ESC[0mSELECT * FROM `companies` WHERE (`companies`.`subdomain` = 'slate') LIMIT 1ESC[0m
ESC[4;36;1mUser Columns (2.7ms)ESC[0m ESC[0;1mSHOW FIELDS FROM `users`ESC[0m
ESC[4;35;1mUser Load (0.4ms)ESC[0m ESC[0mSELECT * FROM `users` ESC[0m
Rendering users/index
ESC[4;36;1mSQL (0.2ms)ESC[0m ESC[0;1mSET NAMES 'utf8'ESC[0m
ESC[4;35;1mSQL (0.2ms)ESC[0m ESC[0mSET SQL_AUTO_IS_NULL=0ESC[0m
哦对。不到大于。足以说明,它有html,head和body标签,<%= yield%>言。
答案 0 :(得分:4)
首先确认views / layouts中的唯一文件是application.html.erb,然后仔细检查UsersController并确保删除指定布局的任何行。