0
我有兩個模式:團隊和項目Ruby on Rails的3條嵌套的路線:錯誤的行動路線
的routes.rb
resources :teams do
resource :projects
end
而且兩個問題!
1-根據http://guides.rubyonrails.org/routing.html,我期望得到team /:team_id/projects /:id路徑。然而,這種情況並非如此。
耙路線
team_projects POST /teams/:team_id/projects(.:format) projects#create
new_team_projects GET /teams/:team_id/projects/new(.:format) projects#new
edit_team_projects GET /teams/:team_id/projects/edit(.:format) projects#edit
GET /teams/:team_id/projects(.:format) projects#show
PUT /teams/:team_id/projects(.:format) projects#update
DELETE /teams/:team_id/projects(.:format) projects#destroy
,所以我不得不名路線得到它的工作
match 'teams/:team_id/projects/:id' => 'projects#show', :via => [:get], :as => :show_project
所以如何能利用軌輔助方法,而不是對其進行命名的?
2-在項目表演動作來看,調試器拋出這些參數對我來說:
action: show
controller: projects
team_id: '1'
這是罰款。但是當我點擊「new_team_projects_path」 URL,它重定向我相同的觀點和調試器拋出這些參數:
controller: projects
action: show
team_id: '1'
id: new
它不重定向我到新的行動,但它採取了「新」作爲ID!爲什麼?
嚴重??!我找了幾個小時的解決方案。非常感謝。 – PeaceDefener 2012-07-21 03:08:41
嗯,這是在指南;)但我知道那種感覺。 – Femaref 2012-07-21 12:15:50
這導致我/ magazine /:id/ads將路由到#show而不是#index的問題 – troutinator 2014-12-12 19:30:15