如何在 Rails 5 中撰寫路由,以便用戶訪問時
http:www.mysite.com/volunteer_events/add_shift
它在志愿者事件控制器中觸發 add_shift 方法
我花了好幾個小時盯著這里的路由頁面... https://guides.rubyonrails.org/v5.0.7/routing.html ...它只是變成了一堵巨大的文字墻。
這是我目前所擁有的...
get '/volunteer_events/add_shift', to: 'volunteer_events#add_shift'
但我收到一個錯誤
Couldn't find VolunteerEvent with 'id'=add_shift
我知道這很簡單……我只是很累,我不記得了。
uj5u.com熱心網友回復:
你的route.rb檔案的其余部分看起來如何?
路由從上到下解釋,定義得更高的路由具有更高的優先級。我的假設是你在路線中有這樣的東西
resources :volunteer_events
get '/volunteer_events/add_shift', to: 'volunteer_events#add_shift'
這將轉化為這樣的東西
get '/volunteer_events/:id', to: 'volunteer_events#show'
get '/volunteer_events/add_shift', to: 'volunteer_events#add_shift'
現在,您的第一條路線始終優先于第二條路線,并且add_shift將始終被解釋為show路線的 id (請注意:idshow routes 中的引數)。只需翻轉兩者,以便/volunteer_events/add_shift在您的表演路線之前進行匹配,您應該會很好。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/338832.html
標籤:红宝石轨道
下一篇:Rails-過濾多對多
