2014-10-07 90 views
0

我在理解如何在rails 4中路由靜態頁面時遇到了一些困難。我創建了一個名爲PagesController的控制器,因此我還有一個名爲pages的視圖文件夾,其中包含oakville.html.erb文件它。在Rails中路由靜態頁面

我的控制器看起來是這樣的:

class PagesController < ApplicationController 

    def oakville 
    end 

end 

我的路線文件看起來像這樣:

get "oakville", :to => "pages#oakville" 

我假設我應該能夠通過將localhost來訪問此頁面:3000/oakville?

我感謝您的幫助!謝謝

回答

0

在你的控制器的方法被稱爲行動,並且您希望能夠導航到的每個靜態頁面都需要相應的控制器操作。當一個人(或鏈接)導航到yoursite/oakville時,您的路線文件需要知道要爲url的oakville分支執行哪個控制器操作。

在您顯示的路線中,get "oakville", :to => "pages#oakville"您要求控制器呈現oakville操作。但在您的控制器中沒有oakville操作。添加一個,並解決問題:

class PagesController < ApplicationController 

    def our_mission 
    end 

    def oakville 
    end 

end 
+0

感謝您的澄清。我按照建議做了所有事情,但是當我進入頁面時,它現在說「這個網頁有一個重定向循環」。 – 2014-10-07 01:39:56

+0

如果您遺漏了任何內容,您是否可以顯示更多與頁面控制器相關的路徑文件,或者更多的頁面控制器? – DRSE 2014-10-07 01:53:48

0

您顯示的路線和您顯示的操作完全無關。

如果你想航線像http://www.example.com/oakville一個URL到Pages控制器上叫our_mission的行動,路線是這樣的:

get 'oakville' => 'pages#our_mission' 

你寫什麼指明瞭你希望被稱爲oakville動作存在,根據你提供的代碼,它不會。

1

是的,但你需要添加一個控制器行動奧克維爾

class PagesController < ApplicationController 

    def oakville 
    end 

end 

此外,您將需要創建oakville.html.erb並把這個變成你的views/pages目錄