Page.reload com o jrails

No rails 2.2 foi adicionado um novo helper para os templates .rjs o reload, pra quem assim como eu, usa o jrails para trocar o prototype pelo jquery fica essa dica, pois até o momento pessoal do jrails não atualizou o mesmo, portanto se você chamar o page.reload usando o jrails vai quebrar.

Para solucionar o problema é simples, basta incluir o codigo abaixo no arquivo jrails.rb (vendor/plugins/jrails/lib/jrails.rb) dentro da Classe JavaScriptGenerator e do Módulo GeneratorMethods.

Abraço!

No Comments |Tags: , ,
seperator

Ubuntu 8.10 + Ruby + Rails + Gedit + Git = Ótimo ambiente!

Ontem (30-10-2008) foi liberado o Ubuntu 8.10 (Intrepid Ibex), e eu como sempre não aguento esperar,  desta vez eu já vinha me preparando (fazendo backps, etc..) pra formatar minha máquina. Foi só baixar o .iso queimar no cd colocar no drive e mais uns 20 minutos o Intred já estava rodando.

1 etapa: Configurações Básicas do sistema

Eu sempre instalo as bibliotecas e programas para áudio, video, gerenciador de clipboard, etc…mas isso era meio chato, mas isso já era! O Hamacker fez um script que faz tudo isso, você só precisa selecionar o que quer e pronto! Parabéns Hamacker pelo ótimo trabalho!

2 etapa: Instalando o Ruby e o Rails

a) Abra o terminal e execute o comando:

sudo apt-get install ruby irb ri rdoc ruby1.8-dev libzlib-ruby libyaml-ruby libreadline-ruby libncurses-ruby libcurses-ruby libruby libruby-extras libfcgi-ruby1.8 build-essential libopenssl-ruby libdbm-ruby libdbi-ruby libdbd-sqlite3-ruby libsqlite3-dev libsqlite3-ruby libxml-ruby libxml2-dev

b) Baixe a ultima versão do rubygem (neste data é a 1.3.1), extraia em um diretório, entre nesse diretorio através do terminal (cd diretorioondeextrai) e execute o seguinte comando:

sudo ruby setup.rb

c) Agora vamos instalar o Rails, no terminal execute:

sudo gem install rails

E depois

sudo gem install sqlite3-ruby mongrel capistrano

d) Agora vamos instalar o mysql e suas bibliotecas, o instalador pedirá pra você escolher uma senha para o usuário root do mysql, eu deixo em branco, pois só uso minha maquina pra desenvolvimento, mas se quiser é só digitar a senha que preferir, no caso de maquinas de produção, pelo amor de Deus, você DEVE por uma senha…rs.

sudo apt-get install mysql-server mysql-client libdbd-mysql-ruby libmysqlclient15-dev

Tive por base este post que era para o ubuntu 8.04. Pronto! neste momento seu ambiente ruby, rails e mysql já está configurado, vamos agora ajustar o gedit.

3 etapa: Instalando os plugins para o Gedit

O Gedit vem instalado por padrão no ubuntu/gnome, entáo só vamos incrementá-lo.

a) vamos começar instalando um pacote padrão de plugins

sudo apt-get install gedit-plugins

b) Agora vamos baixar o Gmate, criado pelo Alexandre, que recomendo a todos que usam o gedit e rails acompanharem pois ele tem feito muita coisa legal, fica aqui também os meus parbéns para o Alexandre.

Na página do Gmate no github tem as instruções para a instalação do mesmo. Outro plugin que eu sempre instalo e não está no gmate é o Advanced Bookmarks (no final da página mostra como instalar).

LEMBRE-SE: para ativar esses plugins e ajustar o visual e as demais configurações do Gedit você deve clicar em Editar->Preferências ai você poderá ajustar da sua maneira.

d) E tem mais, segue os links para instalar o notificador de testes (autotest) e melhorar a aparencia da famosa fonte Monaco no Ubuntu/Gedit.

UPDATE: Instalando fonts: Uma das maneiras de instalar fonts no ubuntu é criar um diretório chamado .fonts na pasta home/seunomedeusuario e colocolar as fontes que deseja dentro dele, atenção para o . (ponto) antes do nome fonts, isso significa que o diretório será oculto e da próxima vez você não o verá por padrão, mas basta dar um ctrl+h que todos os diretórios ocultos aparecerão inclusive o .fonts é claro….dããã.

4 etapa: Instalando mais ferramentas (Git, Subversion, etc)

a) Instalar o git.

sudo apt-get install git-core git-doc git-svn git-gui gitk

git-svn é para integração com repositórios subversion, e git-gui e gitk são front-end para o git no caso você poderia escolher apenas um.

b) Instalar o subversion

sudo apt-get install subversion subversion-tools

c) Front-end para o mysql

sudo apt-get install mysql-admin mysql-query-browser

PRONTO! É isso, epero que ajude, e quem tiver dúvidas ou sugestões é só enviar. Abraço!

9 Comments |Tags: , , ,
seperator

Ruby on Rails 2.2 - O que há de novo

Acabei de adquirir o livro Ruby on Rails 2.2 - O que há de novo, e aproveito para parabenizar o Carlos Brando, pelo excelente trabalho. Parabéns Carlos!

Só li umas 15 ou 20 páginas ainda, mas já vi muita coisa legal, como especificar conditions usando hash e as mudanças no método validates_length_of.

Fica aqui a dica, comprei o pacote contendo o livro e o screencast por $16,00. Na cotação de hoje saiu por apenas R$36,80 o que acho que é até um valor simbólico pela qualidade e importância do conteúdo.

1 Comment |Tags: ,
seperator

Search + params + will_paginate

Depois que iniciei meu curso de ruby on rails na e-genial ministrado pelo Carlos Brando, tenho me dedicado ainda mais em conhecer e me aprofundar em rails, começar a fazer projetos realmente legais com a ferramenta e deixar de ser apenas mais um eterno iniciante ou um programador mediocre….

Esses dias estava trabalhando em um projeto pessoal, em rails é claro…rs, e precisei implantar uma busca no meu sistema, algo trivial, mas ai fui incrementar, paginar os resultados no estilo dig, etc… Nesse ponto tive alguns problemas com as rotas e na passagem de parâmetros, ai resolvi fazer esse mini tutorial de como resolvi o problema.

Se alguem conhecer uma solução melhor comenta ai.

Bem, vamos lá… Para paginar registros eu já estava usando o will_paginate, e minha solução ficou da seguinte maneira:

No meu controller (categorias_controller.rb) eu adicionei o seguinte metodo:

Como estava implantando o formulário de busca em uma tela já pronta e iria repetir esse form em vários lugares, criei um partial para o formulário da busca (_busca.html.erb).

A view (busca.html.erb) que apresenta os resultados ficou da seguinte maneira:

Observem a linha 26, quando chamo o will_paginate preciso passar como parâmetro a variável query que contem a expressão que esta sendo buscada:

No meu arquivo routes.rb eu adicionei uma collection no resouce categorias.

Veja que adicionei a :busca como sendo mais um resource de :categorias, o parametro :any significa que esse resource responderá  :get/:post/:put/:delete, eu poderia simplesmente colocar :get, uma vez que o parâmetro nesse caso só é passado via url, mas deixei como :any pra exemplificar.

Ou coisa, pra não precisar ficar definindo os labels do will_paginate em todo os lugares, acrescentei no final(depois do ultimo end) do meu arquivo environment.rb as seguintes linhas:

Ai foi só reiniciar o server e partir pro abraço!

Abraço a todos.

No Comments |Tags: , ,
seperator

Dica rápida usando o ApplicationHelper.

Essa é bem simples, coisa básica, mas que uso sempre.

Praticamente todas aplicações tem tabelas em que uma das colunas é usada para setar o status/situação do registro, eu costumo gerar esses campos através de migrates assim: status:boolean, na hora de exibir esse registro ao usuário precisamos tratá-lo, pois mostrar true ou false convenhamos que não é legal.

Seguindo o principio de DRY do rails a solução é bem simples.

No application_helper.rb coloco a seguinte função:

Na view basta usar assim:

A explicação é bem simples, a função ativo_inativo recebe um parâmetro true ou false e através de um operador ternário devolve Ativo ou Inativo, lembre-se a função agora está disponivel para toda a aplicação, sem repetições.

Abraço!

2 Comments |Tags: ,
seperator

SQL Buddy - Admin para MySql leve e rápido.

Navegando pela web esses dias dei de cara com um aplicativo web para administração do MySql o SQL Buddy, acho que todo desenvolvedor conhece o phpMyAdmin ele realmente é uma mão na roda quando precisamos administrar algo no MySql de forma remota, porém eu acho a interface do phpMyAdmin meio confusa e muita vezes acho que a velocidade deixa muito a desejar.

O SQL Buddy é um Web based MySQL administration que foca na simplicidade e na velocidade, pra isso ele usa ajax para as requisições tornando assim a interface e usabilidade do mesmo bem agradáveis.

A simplicidade da instalação também chama a atenção, é bem no estilo rails, pois basta descompactar o mesmo em um diretório e pronto, é claro que tem que estar com o php rodando. Vale lembrar que tem suporte a temas e ainda já tem tradução para português. A dica está dada!

No Comments |Tags: ,
seperator

Voltando.

Depois de muito tempo estou de volta!

Há algum tempo atrás eu tinha começado o direto e fácil onde cheguei postar vários artigos sobre ruby on rails, linux e outros. Mas minha vida deu uma guinada e muita coisa mudou rapidamente, sai da empresa que ajudei a fundar e comecei meu vôo “solo” e nesse tempo abandonei o direto e fácil.

Tenho que confessar que mesmo com todas as mudanças, percebi que de certa forma eu estava meio que acomodado e isso é péssimo, o comodismo é fatal na vida de qualquer profissional.

O empurrão que faltava para recomeçar veio em um dos episódios passados do Rails Podcast Brasil, depois de ouvir o Akita e o Carlos resolvi registrar o domínio diretoefacil.com.br novamente e voltar a ativa, e aqui estou novamente.

Abraço!

No Comments |Tags:
seperator