Pregunta

Me gustaría crear un backend administrativo realmente rápido y sucio para una aplicación Ruby on Rails a la que me adjunté en el último minuto.He analizado activescaffold y optimizado y creo que ambos son muy atractivos y deberían ser fáciles de ejecutar, pero no entiendo muy bien cómo configurar ninguno de ellos como una página de administración de backend.Parecen diseñados para funcionar como generadores/andamios estándar de Ruby on Rails para crear interfaces visibles con correspondencia de nombre modelo-vista-controlador-tabla.

¿Cómo se crea una interfaz admin_players cuando los reproductores ya están en uso y desea evitar, en la medida de lo posible, afectar cualquiera de sus archivos relacionados?

La visualización, edición e índice del recurso original no son utilizables por el administrador.

¿Fue útil?

Solución

Creo que los espacios de nombres son la solución al problema que tienes aquí:

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

Que creará rutas admin_customers, new_admin_customers, etc.

Luego dentro del app/controller directorio donde puedes tener un admin directorio.Dentro de su directorio de administración, cree un controlador de administración:

./script/generate rspec_controller admin/admin

class Admin::AdminController < ApplicationController

  layout "admin"
  before_filter :login_required
end

Luego cree un controlador de clientes administradores:

./script/generate rspec_controller admin/customers

Y haga que esto sea heredado de su ApplicationController:

class Admin::CustomersController < Admin::AdminController

Esto buscará vistas en app/views/admin/customersy esperará un diseño en app/views/layouts/admin.html.erb.

Luego puede usar cualquier complemento o código que desee para realizar su administración, optimizar, ActiveScaffold, lo que sea que personalmente me guste usar. resourcecs_controller, ya que le ahorra mucho tiempo si utiliza un DESCANSAR estilo arquitectónico, y obligarse a seguir ese camino puede ahorrarle mucho tiempo en otros lugares.Aunque si heredaste la aplicación, eso ya es un punto discutible.

Otros consejos

Consulte active_admin en https://github.com/gregbell/active_admin.

He usado Streamlined bastante ampliamente.

Para que Streamline funcione, cree sus propios controladores, de modo que pueda ejecutarlo completamente aparte del resto de su aplicación, e incluso puede ejecutarlo en una carpeta 'admin' separada y en un espacio de nombres que se puede proteger con .

Aquí está el controlador de Clientes de una aplicación reciente:

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
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top