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 - это символ вашего первого шага мастера.

Другие вопросы по тегам