我定義爲這樣一個自定義的軌道路線:與其它變量Rails的自定義路徑
resources :scores, path: "seasons/:season_id/scores/:student_id"
這是有道理的,我的應用程序,並會保持標準化的URL。這適用於顯示頁面,我可以正確抓取season_id和:student_id。
但是,當我嘗試路由到任何其他頁面時,出現錯誤。我希望新的和編輯頁面成爲這些路線:
新
resources :scores, path: "seasons/:season_id/scores/:student_id/new"
編輯
resources :scores, path: "seasons/:season_id/scores/:student_id/:id/edit"
因此,他們仍然按照正常的慣例,那就是當我運行會發生什麼耙路線,但擊中任何路線拋出:
ActionController::UrlGenerationError
No route matches {:action=>"show", :controller=>"scores", :format=>nil, :id=>nil, :season_id=>#<Score id: ... >, :student_id=>nil} missing required keys: [:id, :student_id]
這兩個帳戶都很奇怪。季節ID正在與分數對象相關聯,並且表示有缺少的鍵。所有按鍵都出現在params哈希表,這是我如何建立我的鏈接:
= link_to "Edit", { controller: :scores, action: :edit, id: score.id, student_id: params[:student_id], season_id: params[:season_id]} , class: "btn btn-success btn-xs"
錯誤說您要發送行動''「秀」 '',但是你發佈的鏈接代碼是「'」edit「''。你可以仔細檢查,或發佈該鏈接產生的確切錯誤? – dgilperez 2015-02-10 02:56:09
這是確切的錯誤。這就是爲什麼它對我來說毫無意義。 我把它作爲頭部:ActionController :: UrlGenerationError在分數#編輯 以此爲內容:沒有路由匹配{:action =>「show」,:controller =>「scores」,:format => nil ,.....} – 2015-02-10 02:57:09
點擊鏈接或加載包含鏈接的頁面時是否發生這種情況? – dgilperez 2015-02-10 03:00:07