Вопрос

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

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

Показ, редактирование и индексирование исходного ресурса администратору недоступны.

Это было полезно?

Решение

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

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

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

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

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

Чтобы заставить Streamline работать, вы создаете свои собственные контроллеры - так что вы можете запускать его полностью отдельно от остальной части вашего приложения, и вы даже можете запускать его в отдельной папке «admin» и пространстве имен, которые можно защитить с помощью .

Вот контроллер 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

Использовать https://github.com/sferik/rails_admin.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top