Wicked Нет маршрутов
Я использую Wicked для создания своего мастера, за исключением того, что сначала я создаю модель в выделенном контроллере, а затем при сохранении перенаправляем на контроллер шагов, но получаю сообщение об ошибке маршрутизации:
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
В файле маршрутов у меня есть это:
resources :needs_personals do
resources :steps, controller: 'needs_personals/steps'
end
Если я наберу путь, направляющий в браузер, он работает /needs_personals/90/steps
Благодарю.
Обновление 29 сентября 2012
Я считаю, что я понял, почему это делает, и реализовал обходной путь. Я думаю, что это происходит из-за путаницы с параметром id. Несмотря на прохождение needs_personal_id
похоже, что идентификатор обрабатывается как последний параметр ссылки вместо среднего идентификатора.
Моя работа заключается в том, чтобы просто указать на фактическую строку url:
redirect_to "/needs_personals/#{@needsPersonal.id}/steps"
Это хорошо работает. Хотя хотелось бы знать, как сделать это с правильным путем.
1 ответ
Я думаю, это то, что вы ищете:
redirect_to needs_personals_steps_path(@needsPersonal.id, :first_step)
где:first_step - это символ вашего первого шага мастера.