当我生成一个新的控制器时,在子文件夹下,它现在找不到模板,即使同一“结构”中的其他控制器正在工作:
我有以下控制器,它位于app / members / group_controller.rb中(由rails g controller 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 => [: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 / 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 回答
这似乎与我如何首先生成控制器有关 .
我使用大写如下:
rails g controller Members :: Group(同样尝试了一些其他测试控制器,销毁它们并重新创建它们)
当我摧毁控制器并运行小写的equivelant时:
rails g controller members :: group all工作正常,可以找到模板
我在其他地方找不到任何信息来支持这个...
我观察到你在组索引页面中渲染仪表板布局请检查仪表板的路径 . 它是在正确的位置????
我有同样的问题 . 当我使用终端导航到目录并列出/ layouts中的文件时,我有一个布局文件显示为红色的存档文件 . 我不知道为什么 .
要修复它:只需从布局文件中复制并粘贴代码,删除布局文件(rm“file”),然后使用终端创建相同的布局:
将代码粘贴到新文件中,它应该可以正常工作 .