O ExtJS é um framework especializado para construções de aplicações web. É constituído por vários widgets como Grids, TreeViews e painéis em abas. Parece que você está literalmente trabalhando em uma aplicação Desktop.
Já existem Scaffolds combinando o Rails com o ExtJS. Um deles é o Ext Scaffold Generator.
Existe também o Lipsiadmin, que é ótimo para tratar da parte administrativa "dos cadastros básicos" do nosso projeto web.
O legal é que o desenvolvedor responsável por ele, o italiano Davide D’Agostino, já utiliza há mais de 1 ano em ambiente de produção. Ele é baseado no Ext Js 2.0 e já está pronto para o Rails 2.0
Para utilizar o Lipsiadmin, a primeira coisa é instalar o Haml.
Haml é uma DSL ou Domain Specific Language utilizada para manter limpo e simples a descrição de qualquer documento XHTML sem a necessidade de fica "emporcalhando" o código.
Veja um exemplo sem HAML:
<div id=’conteudo’>
<div class=’coluna esquerda’>
<h2>Bem vindo ao artigo do Prof. Ricardo Leme!</h2>
<p>
<%= informacoes %>
</p>
</div>
<div class="coluna direita">
<%= render :partial => "dados" %>
</div>
</div>
Agora, o mesmo exemplo com HAML:
#conteudo
.coluna.esquerda
%h2 Bem vindo ao artigo do Prof. Ricardo Leme!
%p= informacoes
.coluna.direita= render :partial => "sidebar"
Fica bem mais limpo o código, né? 🙂
Para instalar o HAML:
<b>gem install –no-ri haml </b>
Agora vamos ao LipsiAdmin:
Crie um projeto no Rails:
rails exemplo
cd exemplo
Abra o Git e informe:
git clone git://github.com/Lipsiasoft/lipsiadmin.git vendor/plugins/lipsiadmin
Para quem não tem o Git instalado, o Lipsiasoft pode ser baixado aqui:
https://github.com/Lipsiasoft/lipsiadmin/tree/master
Utilizando o Lipsiadmin
ruby script/generate lipsiadmin
Vá em dbmigrate e altere o arquivo de migração (create_account.rb) inserindo o primeiro usuário.
Vá até configdatabase.yml e altere as propriedades do seu SGBD.
No meu caso, como eu utilizo o PosgreSQL a configuração está conforme o exemplo.
# Configuração para conectar no PostgreSQL
development:
adapter: postgresql
database: exemplo_development
username: seuusuairo
password: suasenha
host: localhost
Para gerar o arquivo:
rake db:create #Criando o database
rake db:migrate #Gerando o arquivo de migração
Observe que o usuário foi criado no banco de dados (Você pode ver que foi criada uma tabela chamada accounts).
Por segurança, o usuário criado não está liberado para o login.
Dessa forma, vamos carregar o console do Ruby e ativá-lo.
Para carregar o console: Ruby script/console
Em seguida, informe:
Account.first.activate
Ele deverá retornar => true
Saia do console através do Exit.
Carregando o Webrick:
ruby script/server –port=80
Aponte o seu browser para:
https://localhost/admin
E seja bem vindo ao Lipsiadmin!
Vale a pena dar uma pesquisada mais a fundo!
https://rails.lipsiasoft.com/wiki/lipsiadmin
Para ver alguns screenshots:
https://flickr.com/photos/daddye/sets/72157606377641164