2012-01-16 69 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'