Использование ActiveAdmin с JSON API вместо моделей ActiveRecord - PullRequest
1 голос
/ 06 июня 2019

Так что я понимаю, что это "вне Rails", но мне любопытно, можно ли использовать ActiveAdmin без реальных моделей. По сути, было принято решение, что все наши приложения должны размещать свои административные ресурсы в централизованном приложении без доступа к различным базам данных. Это отделяет фактические модели от приложения администратора. Каждое из клиентских приложений предоставляет внешний интерфейс RESTful, который, как ожидается, будет использовать приложение администратора.

Я искал инструмент интерфейса администратора, чтобы уменьшить (исключить) объем кода представления, который должен быть написан. Ранее я использовал ActiveAdmin более стандартным способом и действительно люблю то, что он нам покупает.

Это возможно? Можно ли заставить ActiveAdmin загружать / создавать / сохранять / и т. Д. Через API JSON, а не напрямую в базу данных с ActiveRecord?

Если это так, может кто-нибудь указать мне на документацию или примеры, которые показывают, как это сделать? У меня не было времени, чтобы перепроектировать ActiveAdmin и выяснить, что я могу сделать.

Кроме того, если кто-то использовал другой инструмент административного интерфейса, который может обрабатывать интерфейс JSON, я хотел бы услышать об этом.

Ответы [ 2 ]

1 голос
/ 06 июня 2019

Проверьте ActiveResource , это позволит вам иметь объекты, подобные объектам activerecord, но работает с API, в настоящее время я сталкиваюсь с той же проблемой и, вероятно, использую эту опцию.Идея состоит в том, что объекты ActiveResource взаимодействуют с API, а не с базой данных, у вас могут быть ваши отношения, assign_to, has_many, методы и проверки и почти одинаковый рабочий процесс.С уважением.

0 голосов
/ 07 июня 2019

Я не читал, чтобы кто-то делал это, и я подозреваю, что ActiveAdmin недостаточно гибок. На Railsconf 2019 была хорошая презентация об обёртывании API с ActiveModel (на Square, поиск на YouTube), и вы могли бы создать ресурсы, совместимые с ActiveAdmin, таким образом. Однако сначала я бы посмотрел на https://github.com/marmelab/react-admin, так как он уже предназначен для работы с различными бэкэндами, хотя и не так богат.

...