2012-01-16 98 views
-1

我正在学习构建一个非常简单的rails应用程序的教程。我创建了一个简单的控制器看起来像这样用于简单视图的Ruby on Rails中的路由错误

class AnimalsController < ApplicationController 
end 

,我有意见称为动物包含一些基本的文本文件RHTML名为hello.rhtml一个文件夹里面。现在,当我启动服务器,就往

http://localhost:3000/animals/hello

我得到一个路由错误。我不确定我做错了什么?

回答

5

不像一些框架,路由不会自动从存在于控制器中的方法创建的,需要在的config/routes.rb中

get "animals/hello" => "animals#hello" 

你可以阅读有关路由here以下。

您可以在终端中输入rake routes来查找当前项目的路线。

class AnimalsController < ApplicationController 
    def hello 
    end 
end 
+0

我得到“行动‘你好’无法找到AnimalsController”不太清楚还是 – 2012-01-16 21:22:16

+0

尝试增加一个hello方法你控制器与'def你好;结束' – Gazler 2012-01-16 21:23:29

+0

我很抱歉,但没有做任何事情。 – 2012-01-16 21:29:21

1

此外,您还需要一个名为'hello'的控制器中的操作方法。

所以,你的控制器变为:

class AnimalsController < ApplicationController 
    def hello 
    end 
end 

然后结合Gazler的回答,路由错误应该消失。

1

如果你想获得从AnimalsController可见然后wrtite所有方法:

match 'animals/:method', :controller => 'animals'