2011-09-24 115 views
5

我是新来的Ruby on Rails的 我收到此错误路由错误on Rails的3

未初始化的常量WelcomeController

创建示例项目之后。我启用了

root :to => 'welcome#index' 

in routes.rb。

+2

我使用的入门指南时也会得到这个错误:http://guides.rubyonrails.org/getting_started.html你有实际行更改为家庭#指数像磨憨拉吉在下面他的评论中说: 。您不只是取消注释该行。 – bernie2436

回答

1

确保WelcomeController在名为welcome_controller.rb

12

文件当你说

root :to => 'welcome#index' 

你告诉Rails的发送所有请求/index方法WelcomeController定义。错误消息告诉你,你没有创建WelcomeController类。你应该有这样的事情:

class WelcomeController < ApplicationController 
    def index 
    # whatever your controller needs to do... 
    end 
end 

in app/controllers/welcome_controller.rb

+1

嗨,我发现了解决方案,只是我改变了根:to =>'home#index'。我创建了控制器主页。所以设置回家路线。 – Raj

+0

@MohanRaj你应该接受这个答案是正确的,因为它是。 – thomasfedb

5

我对Rails非常陌生,在迈克尔哈特尔的Rails教程中也遇到了这个错误。我的问题是,在config/routes.rb文件,我只是注释掉了root :to => "welcome#index"

# just remember to delete public/index.html. 
root :to => "welcome#index" 

但随着sample_app的结构是:“欢迎#指数”应该是“网页#家”来代替,因为一切都最初通过“页面”控制器设置。

root :to => 'pages#home' 

它甚至就在那里的书,但我只是忽略了它,之后花了相当长一段时间试图找出我哪里错了。

1

rails generate controller welcome index

+0

发电机为您设置路线。 Rails.application.routes.draw做 得到'欢迎/索引' 结束 –

1

如果你不生成名称welcome的页面,然后就生成的页面,如:$ rails generate controller pagename index。因此,然后进入:config->的routes.rb你应该修改根“欢迎#指数”根“页面名称#指数”

0

保持这个,如果你希望它是你的上下文根之后你生成您的欢迎部分。

Rails.application.routes.draw do 
    root 'welcome#index' 
end 
+0

年后期和数千短。 :-) –