Pergunta

Eu gostaria de construir uma infra-estrutura administrativa rápida e suja real para um aplicativo Ruby on Rails Eu tenho ligado a no último minuto. Eu olhei ActiveScaffold e simplificou e acho que eles são ambos muito atraente e eles devem ser simples para chegar correndo, mas eu não entendo muito bem como configurar um ou outro como uma página de administração backend. Eles parecem concebidos para funcionar como padrão do Ruby on Rails geradores / andaimes para a criação de front-ends visíveis com nome MVC-tabela de correspondência.

Como você cria um admin_players de interface quando os jogadores já está em uso e você quer evitar, tanto quanto possível, afetando qualquer um dos seus arquivos relacionados?

O show, editar e índice do recurso original não são usuable para o administrador.

Foi útil?

Solução

Eu acho que namespaces é a solução para o problema que você tem aqui:

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

O que vai criar rotas admin_customers, new_admin_customers, etc.

Em seguida, dentro do diretório app/controller você pode ter um diretório admin. Dentro do seu diretório admin, criar um controlador de admin:

./script/generate rspec_controller admin/admin

class Admin::AdminController < ApplicationController

  layout "admin"
  before_filter :login_required
end

Em seguida, criar um controlador de clientes de administração:

./script/generate rspec_controller admin/customers

E fazer este inhert do seu ApplicationController:

class Admin::CustomersController < Admin::AdminController

Este irá procurar pontos de vista em app/views/admin/customers e esperam um layout em app/views/layouts/admin.html.erb.

Você pode então usar qualquer plugin ou código que você realmente gosta de fazer sua administração, agilizar, ActiveScaffold, qualquer que seja pessoalmente eu gosto de usar resourcecs_controller, uma vez que poupa muito tempo se você usar um RESTO arquitetura de estilo, e forçar-se por esse caminho pode economizar muito tempo em outros lugares. Embora se você herdou a aplicação que é um ponto discutível agora.

Outras dicas

Do confira active_admin em https://github.com/gregbell/active_admin .

Eu tenho usado simplificada bastante extensa.

Para obter Streamline trabalhando você crie seus próprios controladores - assim você pode realmente executá-lo completamente à parte do resto de sua aplicação, e você ainda pode executá-lo em uma pasta separada 'admin' e namespace que pode ser fixada com .

Aqui é o controlador de clientes a partir de um aplicativo recente:

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 em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top