我試圖使用具有寧靜路徑的嵌套控制器,以便我都組織和等。這裏是我的routes.rb副本至今:Rails寧靜的命名空間,資源...新手問題
map.root :controller => "dashboard"
map.namespace :tracking do |tracking|
tracking.resources :companies
end
map.namespace :status do |status|
status.resources :reports
end
鏈接到孩子的控制器路徑做工精細現在,
<%= link_to "New Report", new_status_report_path, :title => "Add New Report" %>
但是,當我試圖映射到剛剛父控制器的指數我的問題接踵而至路徑。
<%= link_to "Status Home", status_path, :title => "Status Home" %>
我最終得到這個當我加載網頁與鏈接:
undefined local variable or method `status_path'
是否正確設置這種鏈接我的路線?
更新:我應該補充說,沒有數據與父「狀態」控制器相關聯。它僅僅作爲與狀態相關的其他控制器的類別佔位符,例如:報告。
也許我在一個命名空間是什麼困惑,但我的「身份」類別沒有與其直接關聯的任何數據。這只是一個組織的佔位符類別。我想要做的只是讓它呈現該類別的登錄頁面,並鏈接到報告等內容。 – Dan 2010-07-23 22:36:27
資源不必具有與其關聯的數據。如果你想要在「/狀態」有一個頁面,你必須將它路由到某個地方。如果你想讓你的路線保持平靜,你應該創建一個StatusesController,並使狀態成爲如上所述的單一資源。然後/狀態將轉到StatusesController的show方法。另一方面,有時應用程序會爲所有不適合作爲資源路徑的頁面使用PagesController,您可以像map.status「/ status」,:controller =>:pages,:action => :狀態' – mckeed 2010-07-24 03:44:38