Автор delegate_presenter
здесь.
delegate_presenter
должен нормально работать с inherited_resources
.Сейчас я на самом деле не использовал в проекте наследуемые_ресурсы, так что многое из этого просто из readme.
Что я всегда делаю, так или иначе создаю объект презентатора в представлении: todo_present = Present(@todo)
, например.
Если у вас есть шаблоны из общего источника (например, LegalTodo
- это подкласс Todo
, по какой-то непонятной причине), и вы делитесь шаблонами, вы можете сделать это в своем шаблоне:
presenter = Present(resource)
resource
- по крайней мере, в соответствии с readme наследованными_ресурсами - является помощником для текущего ресурса, на который вы просматриваете (так, @todo
или @legal_todo
)
Present()
рассмотрит класс объекта и создаст экземпляр соответствующего объекта презентатора.TodoPresenter
если resource
возвращает объект Todo
, LegalTodoPresenter
, если resource
возвращает объект LegalTodo
.
Затем, если эти презентаторы полиморфны, докладчики позволят вам абстрагироваться от различийпрочь («Имя LegalTodo
будет описанием + номер депонирования, но имя элемента Todo
должно быть просто описанием») - даже если вы делитесь мнениями!