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