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





Я довольно широко использовал 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 3?
Используйте https://github.com/sferik/rails_admin.
Проверьте active_admin на https://github.com/gregbell/active_admin.
пару вещей, которые вы должны добавить к этому ответу, чтобы помочь нам rails n00bs: упомянуть, что первый блок кода находится в routes.rb, а также упомянуть, что вам нужно установить драгоценные камни rspec и rspec-rails, чтобы сгенерировать rspec_controller.