無法找出此路由問題:我從我的更新控制器操作重定向到修改後的@timecard,並得到以下錯誤:無路由匹配[PATCH]「/ timecards」重定向到@timecard導致'沒有路由匹配[PATCH]「/ timecards」
爲什麼rails會嘗試使用PATCH重定向到timecards#index?
這不是我如何重定向到最近編輯的@timecard?
在timecards_controller.rb:
輸出的def edit
@timecard = Timecard.find(params[:id])
end
def update
@timecard = Timecard.find(params[:id])
@timecard.update_attributes!(timecard_params)
redirect_to @timecard
end
耙路線:
$ rake routes
Prefix Verb URI Pattern Controller#Action
timecard_timecard_entries GET /timecards/:timecard_id/timecard_entries(.:format) timecard_entries#index
POST /timecards/:timecard_id/timecard_entries(.:format) timecard_entries#create
new_timecard_timecard_entry GET /timecards/:timecard_id/timecard_entries/new(.:format) timecard_entries#new
edit_timecard_timecard_entry GET /timecards/:timecard_id/timecard_entries/:id/edit(.:format) timecard_entries#edit
timecard_timecard_entry GET /timecards/:timecard_id/timecard_entries/:id(.:format) timecard_entries#show
PATCH /timecards/:timecard_id/timecard_entries/:id(.:format) timecard_entries#update
PUT /timecards/:timecard_id/timecard_entries/:id(.:format) timecard_entries#update
DELETE /timecards/:timecard_id/timecard_entries/:id(.:format) timecard_entries#destroy
timecards GET /timecards(.:format) timecards#index
POST /timecards(.:format) timecards#create
new_timecard GET /timecards/new(.:format) timecards#new
edit_timecard GET /timecards/:id/edit(.:format) timecards#edit
timecard GET /timecards/:id(.:format) timecards#show
PATCH /timecards/:id(.:format) timecards#update
PUT /timecards/:id(.:format) timecards#update
DELETE /timecards/:id(.:format) timecards#destroy
root GET / timecards#index
相同**路由錯誤**頁面說:沒有路由匹配[PATCH]「/ timecards」:( – Yaya
真的嗎?因爲'timecard_path'匹配時間卡的GET路由..問題必須發生在'@timecard .update_attributes!'你能否確認是否更新了時間卡? – sircapsalot
感謝您指向我的日誌...更新操作似乎沒有被調用,編輯操作被調用: '已啓動GET「/ timecards/3 /編輯「爲127.0.0.1在2013-09-05 18:53:24 + 0300' 但更新操作不是: '已啓動PATCH」/ timecards「爲127.0.0.1在2013-09-05 18: 53:36 + 0300' – Yaya