Padrão de design do controlador de trilhos para o painel

9

Eu gostaria de ter uma página de painel que coleta informações de vários modelos para uma visualização de resumo (sem seu próprio modelo). Como devo fazer o caminho do Rails? Devo criar um dashboard_controller apenas com ação de índice?

Obrigado.

    
por AdamNYC 23.09.2011 в 20:41
fonte

5 respostas

1

O que você quer é dar uma olhada nos frameworks de administração e ver se isso resolve suas necessidades, eu gosto de Typus e RailsAdmin Caso contrário, você deve dar uma olhada no padrão apresentador e como se aplica ao Rails e à sua aplicação. Um dashboard basicamente só faria interface com seus modelos existentes e com a lógica do controlador, já que você não quer acabar com uma situação em que você tem dois conjuntos de lógica para cada modelo. Embora o blog ao qual eu associei seja de 2007, você deve conseguir extrair algumas informações úteis e ter uma ideia do que precisa fazer.

Se você tiver alguma dúvida, não hesite em perguntar.

    
por Devin M 23.09.2011 / 21:08
fonte
4

pense um pouco menos em Rails. Eu estou supondo que o seu painel contém principalmente widgets? ou seja, alguns elementos independentes, o que quer que seja? por que não fazer desses widgets seu modelo (não baseado em AR). encapsular toda a sua lógica e recuperação de dados em seu (s) modelo (s) de widgets. Agora, se você quiser usar o RESTful, poderá, por exemplo, criar uma ação WidgetsController com index como painel. em uma segunda etapa, você poderia usar a ação show para fornecer dados JSON para cada widget para partes AJAX do seu painel. etc

lembre-se de que REST não é necessariamente == CRUD, e um Model não precisa ser um modelo ActiveRecord. O Rails força você no padrão MVC, o que é ótimo, e faz com que até mesmo aplicativos Rails mal escritos sejam melhores do que muitos problemas de PHP, mas às vezes tendemos a esquecer que existem muitas possibilidades fora do ActionController + ActiveRecord, etc. .

    
por Marian Theisen 23.09.2011 / 21:33
fonte
0
  

Devo criar um dashboard_controller apenas com ação de indexação?

Eu prefiro colocar páginas que não executam CRUD em um modelo (como painéis) no application_controller. Não há necessidade de criar um dashboard_controller.

    
por Ben 23.09.2011 / 21:11
fonte
0

Seria um caso de uso para o padrão do Apresentador ?

Estou prestes a implementar um ddashboard e esse é o melhor design que eu acho que levará a uma base de código sustentável.

    
por ontk 28.06.2012 / 01:20
fonte
0

Minha solução é executar

rails g controller Dashboards

crie manualmente um modelo app / models / dashboard.rb cujo conteúdo pode ser tão pequeno quanto

class Dashboard end

Claro que o modelo que você pode colocar toda a lógica que você precisa de dados de pesca de outros modelos.

De volta ao controlador, você cria apenas a ação do índice. Por fim, você cria manualmente o arquivo app / views / dashboards / index.html.erb com o conteúdo necessário. Adicione a rota e você está pronto para ir. Se você prestar atenção aos detalhes, poderá alterar o URL de / dashboards para / dashboard. É isso, eu acho que é muito Rails-y.

    
por Marek Maurizio 09.07.2013 / 14:28
fonte