Comments 4
Не пробовали github.com/sferik/rails_admin или activeadmin.info/? Интересно для сравнения.
Интересные ссылки, попробую пощупать эти расширения, т.к. раньше их не встречал. Выглядят как полноценные инструменты для создания админки, но надо время, что бы заглянуть под капот. Попробую использовать их в одном из проектов.
Много времени конечно прошло. Но только недавно нашлось время немного поработать над домашним проектом и посмотреть на эти гемы.
Они похожи, но мне легче получилось настроить именно Rails Admin. Кстати процедура их установки очень похожа. У меня ощущение, что в них много общего. Из отличий: в Active Admin нужно использовать генераторы, а в Rails Admin можно смонтировать middleware.
Основное отличие от Dry CRUD вижу в большей универсальности. Или можно сказать другой уровень абстракции. Они могут взять на себя работу с авторизацией (через еще один гем: Devise). Вместо создания контроллера достаточно прописать пару строчек в конфиге.
В Dry CRUD это набор хелперов и классов, которые находятся в вашем приложении, от которых можно унаследоваться и получить нужный функционал, при этом в папке controllers у вас могут находится как обычные контроллеры, унаследованные от ApplicationController, так и наследуемые от CrudController.
А Rails Admin и Active Admin могут обходиться вообще без создания контроллеров на каждую модель. Просто заходите в браузере на /admin и там уже готовый интерфейс, который много знает о ваших моделях. Тонкости представления настраиваются через конфиги. Я мало с ними работал и не знаю, насколько глубоко их можно настраивать. Но впечатление положительное, особенно от Rails Admin, с ним было меньше проблем при установке.
Они похожи, но мне легче получилось настроить именно Rails Admin. Кстати процедура их установки очень похожа. У меня ощущение, что в них много общего. Из отличий: в Active Admin нужно использовать генераторы, а в Rails Admin можно смонтировать middleware.
Основное отличие от Dry CRUD вижу в большей универсальности. Или можно сказать другой уровень абстракции. Они могут взять на себя работу с авторизацией (через еще один гем: Devise). Вместо создания контроллера достаточно прописать пару строчек в конфиге.
В Dry CRUD это набор хелперов и классов, которые находятся в вашем приложении, от которых можно унаследоваться и получить нужный функционал, при этом в папке controllers у вас могут находится как обычные контроллеры, унаследованные от ApplicationController, так и наследуемые от CrudController.
А Rails Admin и Active Admin могут обходиться вообще без создания контроллеров на каждую модель. Просто заходите в браузере на /admin и там уже готовый интерфейс, который много знает о ваших моделях. Тонкости представления настраиваются через конфиги. Я мало с ними работал и не знаю, насколько глубоко их можно настраивать. Но впечатление положительное, особенно от Rails Admin, с ним было меньше проблем при установке.
Если необходимо что-то намного большее, чем просто CRUD, и интересует инструмент для создания полнофункциональных одностраничных много-модельных приложений на основе Ruby on Rails — взгляните на Netzke. Помимо уже готовой таблицы, которая кроме CRUD поддерживает поиск, фильтр, динамическое перемещение колонок, и т.д. — Netzke предоставляет также все инструменты для того, чтобы нестить уже готовые компоненты внутри других компонент, наследовать компоненты путем ООП, а также динамически подгружать компоненты (что в случае с одностраничными приложениями, использующими сотни таблиц, очень и очень желательно), и многое другое.
Вот демо-приложение на Netzke, на создание которого ушло всего несколько часов: http://yanit.heroku.com
Здесь линк на статью на Хабре, в которой описывается, как создать CRUD приложение с Netzke всего за несколько минут: http://habrahabr.ru/post/133935/
Для front-end'a Netzke использует Sencha Ext JS.
Вот демо-приложение на Netzke, на создание которого ушло всего несколько часов: http://yanit.heroku.com
Здесь линк на статью на Хабре, в которой описывается, как создать CRUD приложение с Netzke всего за несколько минут: http://habrahabr.ru/post/133935/
Для front-end'a Netzke использует Sencha Ext JS.
Sign up to leave a comment.
Избавляемся от повторения кода с помощью DRY CRUD