Поэтому у меня возникают проблемы с выяснением того, что происходит с полиморфными ассоциативными / унаследованными ресурсами, и документация сбивает меня с толку, так как я не знаю точно, что это означает - в документации говорится:
В настоящее время унаследованные ресурсы ограничены и не позволяют иметь две вложенные полиморфные ассоциации.
Но этот пример продолжается.
Вы даже можете использовать его с вложенными ресурсами:
class CommentsController < InheritedResources::Base
belongs_to :project do
belongs_to :task, :file, :message, :polymorphic => true
end
end
- Мой код похож, но в основном мне нужно, чтобы проекты были комментируемыми, а также задачи, которые вложены в проекты ниже. - Но приведенный выше код работает только наполовину, если я сделаю следующее:
class CommentsController < InheritedResources::Base
belongs_to :project, :polymorphic => true do
belongs_to :task, :polymorphic => true
end
end
Но когда я делаю вышеупомянутое, я все еще теряю методы, такие как parent?, В представлениях моего проекта, которые мне нужно использовать, чтобы определить, является ли ресурс проектом или задачей, чтобы я мог вызвать правильные параметры в частичной форме (потому что у меня есть форма комментария проекта в одной вкладке, а затем вкладка для задач, в которую загружается ajax с формой для комментирования этой задачи) -
Так что мне интересно, является ли то, что я делаю выше, именно тем ограничением, на которое ссылается документация (но дело в том, что когда я вкладываю его, как описано выше, тогда я могу публиковать комментарии как для проектов, так и для задач, если Тогда я не могу найти ошибку полиморфной ассоциации, поэтому кажется, что это своего рода работа, за исключением отсутствующих методов), и если это неправильный способ вложить эту настройку, если у кого-то есть какие-либо творческие идеи обходного пути.