Управление бэкэнд в Ruby on Rails
Я хотел бы создать реальный быстрый и грязный административный сервер для приложения Ruby on Rails, к которому я привязан в последнюю минуту. Я посмотрел на activescaffold и упростил и подумал, что они оба очень привлекательны, и они должны быть просты в запуске, но я не совсем понимаю, как настроить одну из них как страницу администрирования бэкэнд. Они, похоже, предназначены для работы как стандартные генераторы/леса Ruby on Rails для создания видимых передних концов с соответствием имени таблицы-контроллера-таблицы-таблицы.
Как вы создаете интерфейс admin_players, когда игроки уже используются, и вы хотите, насколько это возможно, повлиять на любой из связанных с ним файлов?
Показать, редактировать и индексировать исходный ресурс не рекомендуется администратору.
Ответы
Ответ 1
Я думаю, что пространства имен - это решение проблемы, которую вы здесь:
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
, поскольку это экономит вам много времени, если вы используете REST, и заставляя себя спуститься, этот маршрут может сэкономить много времени в другом месте. Хотя, если вы унаследовали приложение, которое сейчас является спорным.
Ответ 2
Выполните проверку active_admin в https://github.com/gregbell/active_admin.
Ответ 3
Я использовал Streamlined довольно широко.
Чтобы получить работу Streamline, вы создаете свои собственные контроллеры, поэтому вы можете полностью запустить ее отдельно от остальной части вашего приложения, и вы даже можете запустить ее в отдельной папке "admin" и пространстве имен, которое можно защитить с помощью.
Вот контроллер клиентов из недавнего приложения:
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
Ответ 4
Используйте https://github.com/sferik/rails_admin.