首先,我必須說我對Rails很新。我已經花了幾天的時間通過教程後的教程,仍然缺少一些概念。主要是因爲我只想從一個簡單的網站結構開始,但每個教程都是購物車或網站中的更多應用程序的博客。我在我的網站上有一些網頁,它們會有數據庫驅動的照片庫,但現在我只是試圖獲得這些問題的一些答案。瞭解軌道中的路由
網站結構:
首頁|照片|關於|工作|聯繫
工作具有例如子頁面:
HTML |紅寶石|鐵軌| BLA-BLA
- 控制器:
我需要建立一個控制器,每一個新的頁面或我能有一個控制器處理所有主要級別頁。 如果我可以用一個控制器如何將這項工作,我需要定義一個動作來處理每個頁面(view)像
class MainController < ApplicationController
def index
end
def photos
end
def contact
end
# and so on ......
end
- 路由:
我將如何路線以上。 請告訴我一個資源和*之間的差額得到
- GET 「照片/照片」
- 資源:照片
當我設置像一個特定頁面的控制器。 軌摹控制器聯繫接觸
它創建在我的意見被稱爲接觸和裏面的文件夾是一個叫做接觸意味着視圖我的網址聯繫人/聯繫方式 它還增加了一個途徑得到「聯繫人/聯繫方式」 現在,如果有什麼我只希望用戶輸入http://mydomain/contact
,那麼這是行不通的。我如何設置它,以便用戶不必添加http://mydomain/contact/contact
我可以找到解決方法的唯一方法是使用匹配動詞。
match "contact" => 'contact#contact'
這是否意味着我必須使用匹配我網站上的每個頁面來更改url路徑?
這些只是很多問題中的一小部分,我在大部分教程中都不太清楚。請不要告訴我使用用戶指南,因爲我已經和現在感到不知所措。我只是想從一些在rails中工作的開發人員那裏得到一些明確的答案,並且會設置一個像我上面概述的結構。
感謝
謝謝菲利普這真的有幫助。我敢肯定有興趣知道如何設置一個可以處理所有頁面的PagesController。我也在想這樣的事情,但認爲這將不得不像上面在我的文章中所概述的那樣,爲每個視圖設置一個動作定義。這打破了目的,因爲我會重複代碼。所以在你的代碼中HomeController的工作就像我有MainController。我需要在HomeController中放置關於,聯繫人和索引的動作定義來處理每個單獨視圖的渲染 – Chapsterj
如果about/contact/index只是直觀的視圖,沒有什麼奇怪的,你可以欺騙並在控制器中省略動作方法。但是,這樣做也意味着過濾器之前/之後的任何過濾器都不會被調用,所以包含它們是一個好主意。 –
對於PagesController,使用:index操作方法創建該控制器,然後將其添加到路由文件的末尾(但是在默認路由之前,如果您仍然有):https://gist.github.com/ 4178245然後嘗試一下,因爲你打各種網址,看看你得到什麼,以及如何處理它。 –