缺少模板虽然路由似乎工作

时间:2012-05-01 12:10:51

标签: ruby-on-rails

当我生成一个新的控制器时,在子文件夹下,它现在找不到模板,即使同一“结构”中的其他控制器正在工作:

我有以下控制器,它位于app / members / group_controller.rb中(由rails g控制器Members :: Group命令创建)

class Members::GroupController < ApplicationController
  def index
    render :layout => 'dashboard'
  end
end

我在views / members / group / index.html.erb

中有一个模板

我在routes.rb中有以下相关行(即为了清楚而省略其他一些):

namespace :members do
    match '/group' => 'group#index'
end

rake路线向我显示以下相关行:

members_group            /members/group(.:format)                       members/group#index

当我输入网址http://127.0.0.1:3000/members/group时,我收到模板缺失错误,如下所示:

缺少模板

缺少模板成员/组/索引,应用程序/索引{:locale =&gt; [:en],:formats =&gt; [:html],:handlers =&gt; [:erb,:builder,:arb , :咖啡]}。搜索:*“/ Users / mitch / Documents / Development / TME / app / views”*“/ Users / mitch / .rvm / gems / ruby​​-1.9.2-p290 / bundler / gems / active_admin-7c3e25f30224 / app / views“*”/Users/mitch/.rvm/gems/ruby-1.9.2-p290/gems/kaminari-0.13.0/app/views“*”/Users/mitch/.rvm/gems/ruby-1.9。 2-P290 /宝石/设计-2.0.0 /应用/视图“

路由正在使用索引方法,因为我可以进行重定向并对其进行操作,但我无法显示模板。

为什么会这样?

由于

(Rails 3.1)

3 个答案:

答案 0 :(得分:1)

这似乎与我如何首先生成控制器有关。

我使用大写如下:

rails g controller Members :: Group(同样尝试了一些其他测试控制器,销毁它们并重新创建它们)

当我摧毁控制器并运行小写的equivelant时:

rails g controller members :: group all工作正常,可以找到模板

我在其他地方找不到任何信息来支持这个......

答案 1 :(得分:0)

我观察到您在组索引页面中渲染仪表板布局请检查仪表板的路径。是否在正确的位置????

答案 2 :(得分:0)

我遇到了完全相同的问题。当我使用终端导航到目录并列出/ layouts中的文件时,我有一个布局文件显示为红色的存档文件。我不知道为什么。

要解决此问题:只需复制并粘贴布局文件中的代码,删除布局文件(rm“file”),然后通过终端创建相同的布局:

touch file_name.html.erb

将代码粘贴到新文件中,它应该可以正常工作。