0
我下面A Wicked exampe建立我的嚮導,但我創建一個專用控制器模型首次然後保存重定向到步控制器,但我得到一個路由錯誤說:妖獸沒有路由匹配
No route matches {:action=>"show", :controller=>"needs_personals/steps"}
重定向代碼如下所示:
redirect_to needs_personal_step_path, :needs_personal_id => @needsPersonal.id
我用needs_personal_step_path
因爲我rake routes
輸出這樣的:
needs_personal_steps GET /needs_personals/:needs_personal_id/steps(.:format) needs_personals/steps#index
POST /needs_personals/:needs_personal_id/steps(.:format) needs_personals/steps#create
new_needs_personal_step GET /needs_personals/:needs_personal_id/steps/new(.:format) needs_personals/steps#new
edit_needs_personal_step GET /needs_personals/:needs_personal_id/steps/:id/edit(.:format) needs_personals/steps#edit
needs_personal_step GET /needs_personals/:needs_personal_id/steps/:id(.:format) needs_personals/steps#show
PUT /needs_personals/:needs_personal_id/steps/:id(.:format) needs_personals/steps#update
DELETE /needs_personals/:needs_personal_id/steps/:id(.:format) needs_personals/steps#destroy
在routes文件我有這樣的:
resources :needs_personals do
resources :steps, controller: 'needs_personals/steps'
end
如果我在指導到它的工作原理/needs_personals/90/steps
由於瀏覽器中鍵入路徑。
更新2012年9月29日
我相信我已經制定了這是爲什麼這樣做,並圍繞實施工作。我認爲這是因爲與id參數混淆而發生的。儘管通過了needs_personal_id
,但似乎將id作爲鏈接的最後一個參數而不是中間id。
我的解決辦法是隻是在實際字符串URL指向它:
redirect_to "/needs_personals/#{@needsPersonal.id}/steps"
這種運作良好。雖然很想知道如何在正確的道路上做到這一點。
謝謝。你的回答幾乎是正確的。所以我會說它是正確的,並提到它實際上是'redirect_to needs_personal_steps_path(@ needsPersonal.id,:first_step)'猜測,因爲我們正在處理一個奇異的需求個人模型,而不是全部。再次感謝讓我走上正確的道路,可以這麼說;) – Jaijaz
回來看看這個,注意到我的評論中有一個錯字。它實際上是:'redirect_to needs_personal_step_path(@ needsPersonal.id,:first_step)' – Jaijaz