Подтвердить что ты не робот

Управление бэкэнд в Ruby on Rails

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

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

Показать, редактировать и индексировать исходный ресурс не рекомендуется администратору.

4b9b3361

Ответ 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, и заставляя себя спуститься, этот маршрут может сэкономить много времени в другом месте. Хотя, если вы унаследовали приложение, которое сейчас является спорным.

Ответ 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