Я пытаюсь понять, как правильно подходить к вложенным конечным точкам, давайте предположим, что у меня есть отношение ко многим books
и authors
, и API, который предоставляет api/authors
, api/books
иapi/authors/{id}/books
.Это общий шаблон проектирования.
CRUD на api/authors
прекрасно работает в реагирующем администраторе.Тем не менее, под авторами <Show>
я хочу показать <Datagrid>
всех книг с разбиением на страницы и сортировкой, которые мой API делает доступными под api/authors/{id}/books
.
Каков правильный подход для создания сетки данныхтакой вложенной конечной точки?
Я рассмотрел <ReferenceManyField>
, который хорошо работает в контексте один ко многим, но не позволяет получить доступ к вложенным конечным точкам, а только фильтрует конечную точку.
В идеале я хотел бы что-то вроде:
<Show {...props}>
<TabbedShowLayout>
<Tab label="Books">
<NestedResourceField reference="books" nestedResource={`authors/${props.record.id}/books`} pagination={<Pagination/>} >
<Datagrid>
<TextField source="name" />
</Datagrid>
</NestedResourceField>
</Tab>
</TabbedShowLayout>
</Show>
Обратите внимание, что <NestedResourceField>
- это гипотетический компонент, который будет иметь поведение, очень похожее на <ReferenceManyField>
, но приметвложенная конечная точка в nestedResource
вместо target
.
Я изо всех сил пытаюсь понять, какой должна быть стратегия проектирования для гипотетического <NestedResourceField>
, чтобы повторно использовать как можно большую часть реагирующей административной структурынасколько это возможно.
Было бы просто "вручную" сделать выборку самостоятельно и вывести список содержимого, но тогда я потерял бы всю нумерацию страниц, фильтрацию, сортировку и т. д.mes с response-admin и тем фактом, что books
является уже определенным ресурсом.
Мой вопрос похож на эти оставшиеся без ответа вопросы:
пользовательские маршруты в activ-admin
пользовательский путь для маршрута ресурса в реагировать-администратор
Редактировать
Оказывается, почти идентичный вопрос, который я не нашел ранее, был размещен здесь: Поддержка вложения ресурсов