Бэкэнд-администрирование в Ruby on Rails

Я хотел бы создать действительно быстрый и грязный административный бэкэнд для приложения Ruby on Rails, к которому я был подключен в последнюю минуту. Я посмотрел на activescaffold и оптимизированный и считаю, что они оба очень привлекательны и должны быть простыми в использовании, но я не совсем понимаю, как настроить любой из них в качестве страницы внутреннего администрирования. Похоже, они созданы для работы как стандартные генераторы / скаффолды Ruby on Rails для создания видимых интерфейсов с соответствием имен модели-представления-контроллера-таблицы.

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

Администратор не может использовать отображение, редактирование и индексирование исходного ресурса.

Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
28
0
24 246
4
Перейти к ответу Данный вопрос помечен как решенный

Ответы 4

Я довольно широко использовал Streamline.

To get Streamline working you create your own controllers - so you can actually run it completely apart from the rest of your application, and you can even run it in a separate 'admin' folder and namespace that can be secured with .

Вот контроллер Customers из недавнего приложения:

class CustomersController < ApplicationController
  layout 'streamlined'
  acts_as_streamlined       

  Streamlined.ui_for(Customer) do
    exporters :csv   
    new_submit_button :ajax => false 
    default_order_options :order => "created_at desc"   
    list_columns :name, :email, :mobile, :comments, :action_required_yes_no  
  end
end
Ответ принят как подходящий

Я думаю, что пространства имен - это решение вашей проблемы:

map.namespace :admin do |admin|
    admin.resources :customers
end

Что создаст маршруты admin_customers, new_admin_customers и т. д.

Тогда внутри каталога app/controller может быть каталог admin. Внутри вашего каталога администратора создайте контроллер администратора:

./script/generate rspec_controller admin/admin

class Admin::AdminController < ApplicationController

  layout "admin"
  before_filter :login_required
end

Затем создайте контроллер клиентов администратора:

./script/generate rspec_controller admin/customers

И сделайте это унаследованным от вашего ApplicationController:

class Admin::CustomersController < Admin::AdminController

Это будет искать представления в app/views/admin/customers и буду ожидать макет в app/views/layouts/admin.html.erb.

Затем вы можете использовать любой плагин или код, который вам нравится, чтобы фактически выполнять свое администрирование, оптимизацию, ActiveScaffold, все, что лично мне нравится использовать resourcecs_controller, поскольку это экономит вам много времени, если вы используете архитектуру стиля ОТДЫХ, и заставляя себя идти по этому пути может сэкономить много времени в другом месте. Хотя, если вы унаследовали приложение, это пока спорный вопрос.

пару вещей, которые вы должны добавить к этому ответу, чтобы помочь нам rails n00bs: упомянуть, что первый блок кода находится в routes.rb, а также упомянуть, что вам нужно установить драгоценные камни rspec и rspec-rails, чтобы сгенерировать rspec_controller.

aarona 04.12.2009 13:53

Дорогая Лори Янг, не могли бы вы переписать свой пример для Rails 3?

Kir 07.03.2011 23:12

Проверьте active_admin на https://github.com/gregbell/active_admin.

Другие вопросы по теме

Как скрыть определенные поля из быстрого редактирования продуктов администратора WooCommerce
Пользовательское уведомление администратора WooCommerce с динамическим сообщением
Расширить поиск в списке заказов администратора WooCommerce из метаданных, когда HPOS включен
Изменить ссылку администратора продукта заказа товаров WooCommerce на постоянную ссылку продукта (интерфейс)
Как создать двух пользователей с разными разрешениями в Django?
Как мне лучше всего реализовать роль администратора в приложении Nest.js + React?
В чем причина этой ошибки в IBM DB2?
Я работаю с администратором реагирования. Справочные поля, из которых были получены данные, отображались на несколько мгновений, а затем исчезали
Добавьте метаданные несуществующего заказа, чтобы расширить поиск заказов администратора WooCommerce для конкретных продуктов
Скрыть подменю администратора WooCommerce «Домой» от менеджера магазина