2015-11-19 2 views
0

Я создал функцию в своем приложении, в которой я создал некоторые параметры контента, которые можно было изменить в моей базе данных. Однако я столкнулся с проблемой, которая потребовала от меня использовать полиморфный маршрут. Это закончилось тем, что вызвало у меня много проблем, потому что у моих маршрутов было два идентификатора, связанных с ними. Я понял, что причина этого в том, что мой ресурс в файле маршрутов был множественным. Поэтому я сделал это уникальным, и теперь у меня проблемы с простыми маршрутами.Rails Маршрутизация от множественного к отдельному ресурсу

Мои маршруты файл как так

concern :content_settings do 
    resources :content_setting, only: [:index, :edit, :delete, :update] 
end 

Когда я запускаю грабли маршруты я получаю так

admin_customer_content_setting_index GET  /admin/customers/:customer_id/content_setting(.:format)    admin/content_setting#index 
edit_admin_customer_content_setting GET  /admin/customers/:customer_id/content_setting/:id/edit(.:format)  admin/content_setting#edit 
admin_customer_content_setting  PATCH /admin/customers/:customer_id/content_setting/:id(.:format)   admin/content_setting#update 
            PUT  /admin/customers/:customer_id/content_setting/:id(.:format)   admin/content_setting#update 

Сейчас в основном я в точке, где мне нужно реализовать маршрут к варианты редактирования моей новой удивительной функции. Я продолжаю пробовать что-то вроде строк.

=link_to edit_admin_customer_content_setting_path(@owner) 

Я продолжаю получать ошибку «Нет параметров маршрута». Кто-нибудь знает, есть ли что-то, что мне не хватает? Я рад показать больше своего кода, если это необходимо.

Большое спасибо!

ответ

2

Пожалуйста, попробуйте это

= link_to edit_admin_customer_content_setting_path(customer_id: @owner.id, id: @content.id) 

Когда вы посмотрите на выходе rake routes, вы можете увидеть, что в третьей колонке вам говорят, какие параметры он ожидает:

edit_admin_customer_content_setting GET  /admin/customers/:customer_id/content_setting/:id/edit(.:format)  admin/content_setting#edit 

В вашем случае: customer_id и id


ОБНОВЛЕНИЕ

Если вы хотите избежать передачи двух идентификаторов вашим помощникам, вы можете использовать мелкие маршруты. Пожалуйста, взгляните на documentation here (прокрутите немного до Shallow Nesting)

+0

О, мой гений! Большое вам спасибо @bosskovic. Маршруты работают правильно! – kdweber89

Смежные вопросы