当我生成一个新的控制器时,在子文件夹下,它现在找不到模板,即使同一“结构”中的其他控制器正在工作:
我有以下控制器,它位于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)
答案 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
将代码粘贴到新文件中,它应该可以正常工作。