0

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

我有以下控制器,它位于 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 routes 向我展示了以下相关行:

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

当我输入 url http://127.0.0.1:3000/members/group时,我收到 Template Missing 错误,如下所示:

模板丢失

缺少带有 {:locale=>[:en], :formats=>[:html], :handlers=>[:erb, :builder, :arb, :coffee]} 的模板成员/组/索引、应用程序/索引。在以下位置搜索:*“/Users/mitch/Documents/Development/TME/app/views”*“/Users/mitch/.rvm/gems/ruby-1.9.2-p290/bundler/gems/active_admin-7c3e25f30224/app/意见“*”/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/gems/devise-2.0.0/app/views"

路由正在使用 index 方法,因为我可以例如放入重定向并对其采取行动,但我无法让模板显示。

为什么这样?

谢谢

(轨道 3.1)

4

3 回答 3

1

这似乎与我最初生成控制器的方式有关。

我使用大写如下:

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

当我销毁控制器并运行小写等效项时:

rails g controller members::group 一切正常,可以找到模板

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

于 2012-05-02T08:54:45.643 回答
0

我观察到您在组索引页面中呈现仪表板布局,请检查仪表板的路径。它在正确的位置吗????

于 2012-05-01T12:26:01.713 回答
0

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

要修复它:只需从布局文件复制和粘贴代码,删除布局文件(rm“文件”),然后使用终端通过以下方式创建相同的布局:

touch file_name.html.erb

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

于 2012-05-04T18:20:08.870 回答