Я пытаюсь создать простой сайт воссоединения семей с: "сообщениями", "семьями", "детьми", и «картинки». В идеале я бы хотел, чтобы маршруты / отношения были структурированы следующим образом:
resources :posts do
resources :pictures
end
resources :fams do
resources :pictures
resources :kids do
resources :pictures
end
end
В моделях у меня есть необходимые отношения « own_to
» и « has_many
», установленные между fams
и kids
. Fams
, kids
и сообщения
все определены с помощью «has_many: pictures,: as =>: imageable
», в то время как изображения определены как: own_to: imageable,: polymorphic => true
При попытке сделать link_to "Edit"
и link_to "Destroy"
на изображениях
просмотров Я сталкиваюсь со всевозможными проблемами _path
. polymoric_path
отлично работает на двух уровнях, а именно для пост-картинок
и fams-pictures
, но он не может обрабатывать трехуровневый случай fams-kids-pictures
. Я предполагаю, что он не был разработан для обработки двух уровней объектов « imageable
» над объектом picture
. Другая проблема заключается в том, что в одном случае контроллер изображений
должен обрабатывать ситуацию вложенности ресурсов «одного уровня», а в другом - обрабатывать ситуацию «двух уровней». Не знаю, как к этому подойти.
Одна вещь, которую я сделал, - это не вкладывать ресурсы более чем на одну глубину, в соответствии с указаниями руководств Ruby. Я структурировал их следующим образом:
resources :posts do
resources :pictures
end
resources :fams do
resources :pictures
resources :kids
end
resources :kids do
resources :pictures
end
Это вызвало еще один набор проблем с путями, поскольку отношения между семьей и детьми больше не сохранялись. Я также не смог заставить polymorphic_path корректно функционировать во всех различных представлениях
изображений.
Итак, вот мой главный вопрос: знает ли кто-нибудь пример / учебник по Rails 3, в котором вложенные ресурсы, принадлежность / has_many и полиморфные отношения объединены вместе, особенно если речь идет не только о простых двухуровневых отношения, которые показывают большинство примеров? (Я новичок в Rails, и примеры Rails 2, которые я нашел в этих областях, сбивают с толку, учитывая отсутствие у меня исторического опыта Rails.)
Или кто-нибудь может сказать мне, как структурировать link_to EDIT
и link_to DELETE
для моих представлений picture
, а также оператор redirect-to
для моего create
, update
, и уничтожить методы
в моем контроллере изображений
?
Спасибо!