Tag Archives: ruby on rails

Resolvendo problemas com Rails, RVM, openssl e readline no Ubuntu

Se você está começando a trabalhar com RVM no Ubuntu, pode encontrar alguns problemas de configuração quando tentar executar o script/console (Rails 2.x), como por exemplo:

no such file to load -- readline (LoadError)

ou ainda

no such file to load -- openssl (LoadError)

O site oficial do RVM oferece uma solução, mas que não se aplica a todos os ambientes.

Para resolver esse problema é necessário fazer o seguinte:

1) Instale as bibliotecas do openssl e do readline via apt:

$ sudo apt-get install libreadline6 libreadline6-dev openssl libssl0.9.8 libssl-dev libopenssl-ruby

2) Remova a versão instalada do Ruby via RVM e reinstale indicando os diretórios do readline e do openssl:

$ cd <diretório do seu projeto Rails>
$ rvm remove 1.8.7
$ rvm install 1.8.7 --with-readline-dir=/usr/include/readline/ --with-openssl-dir=/usr/include/openssl/

Este exemplo aplica-se à versão 1.8.7 do Ruby no Ubuntu 10. Faça as adaptações necessárias para adequar ao seu ambiente. Esta solução foi testada com a versão 2.3.10 do Rails – acredito que pode ser aplicada a outras versões também.

Funcionou com você em outras configurações? Deixe um comentário!

Instalando sua aplicação Rails/RestfulX (e as gems) na DreamHost

Apesar dos muitos comentários negativos que ouvi por aí sobre a DreamHost, até hoje não tive problemas: mantenho este blog hospedado lá há quase um ano e não tenho do que reclamar.

Esses dias resolvi colocar uma aplicação em Flex/Rails (com RestfulX) para rodar no servidor e não tive problemas. A única “pequena dificuldade” que tive foi para entender como funciona a instalação das gems no servidor deles, o que é muito simples.

Primeiro criei um subdomínio com suporte a Passenger (o que exigia que o diretório web terminasse com “public/”), conforme screenshot a seguir:


Leia o restante do artigo

CRUD com o RestfulX – aplicação funcionando

Há alguns dias eu escrevi dois artigos sobre como realizar as operações de CRUD com o RestfulX – um falando sobre o retrieve e outro sobre o create, update e delete.

Quando escrevi o segundo artigo eu fiquei devendo mostrar para vocês a aplicação de exemplo funcionando. Pois aqui está: veja a aplicação rodando e faça seus testes!

Para ver o código fonte basta clicar com o botão direito na aplicação e escolher “View source”.

CRUD com o RestfulX: Parte 2/2 – Create, Update e Delete

No último artigo que eu escrevi sobre CRUD com o RestfulX eu falei apenas sobre como obter os dados do servidor (retrieve). Neste artigo vou mostrar como funcionam as outras “letras” do acrônimo: criar, atualizar e apagar um registro (Create, Update e Delete).

Vou continuar usando o mesmo exemplo e aproveitar os conceitos explicados anteriormente. Por isso, se você não leu o artigo anterior, sugiro humildemente que faça isso antes de prosseguir … ;-)

Leia o restante do artigo

Instalação “avançada” do RestfulX no seu projeto Rails

Após criar seu projeto no Rails usando o comando rails , você pode configurá-lo para usar o RestfulX através do comando script/generate rx_config. Este comando cria todos os arquivos de configuração do RestfulX e faz o download da biblioteca do framework (arquivo restfulx_framework.1.2.4.swc, que é a versão mais recente enquanto escrevo este artigo).

Mas você também pode fazer o download do projeto restfulx_framework e incluí-lo no seu projeto no Flex Builder. Para isso, faça o download do fonte do framework usando o git: git clone git://github.com/dima/restfulx_framework.git. Agora você pode gerar os arquivos de configuração: script/generate rx_config --skip-framework. Com a opção --skip-framework, o comando generate rx_config vai gerar os arquivos de configuração mas não vai fazer o download da biblioteca do RestfulX.

Leia o restante do artigo

Introdução ao RestfulX

Apesar de já ter escrito dois artigos sobre o assunto (um screencast e um tutorial), este artigo é o primeiro de uma série que pretendo escrever sobre o RestfulX, um framework incrível para quem quer integrar o Flex (ou AIR) ao RubyOnRails, Google App Engine, CouchDB, SQLite ou até mesmo integrar com o Juggernaut (plugin para o Rails para envio de mensagens do servidor para o cliente – server-push). Nos primeiros artigos eu vou focar a integração do Flex com o Rails. Assim como toda aula introdutória, este artigo vai ser um pouco “conceitual”, mas não por isso será menos importante que os artigos onde eu mostro algum código.

A idéia principal do RestfulX é trazer para o Flex os princípios de desenvolvimento do Rails, seguindo o conceito REST de comunicação entre cliente e servidor. Por exemplo, se definirmos no Rails que um projeto tem muitas tarefas, podemos fazer o seguinte no Rails:

@projeto = Projeto.new
@tarefa = Tarefa.new
@tarefa.projeto = @projeto
@projeto.tarefas.size          # O resultado é 1

O que o RestfulX faz é trazer toda essa facilidade para o Flex (através do ActionScript):

var proj:Projeto = new Projeto;
var tarefa:Tarefa = new Tarefa;
tarefa.projeto = proj;
proj.tarefas.length;       // O resultado é 1


Leia o restante do artigo

Screencast: desenvolvendo uma aplicação com RestfulX em menos de 5 minutos

Depois do artigo que escrevi sobre o RestfulX resolvi gravar um screencast para mostrar como é a utilização do framework.

No final das contas é o mesmo conteúdo do artigo anterior, só que com animação, cor e um bom jazz de fundo.

RestfulX – Introdução, instalação, configuração e primera aplicação em 5 minutos

O RestfulX é um framework que se propõe, basicamente, a trazer para o Flex a abstração que o Rails faz da camada de dados. Ele possui um conjunto de geradores de código que facilitam o trabalho de programação ao automatizar tarefas repetitivas, como criar Value Objects (VOs) e tratar a comunicação com o backend para realizar operações de manipulação do banco de dados – criar, recuperar, atualizar e apagar registros, operações conhecidas sob o acrônimo CRUD (Create, Retrieve, Update e Delete).

Toda a geração de código é baseada no Rails, mas você não é obrigado a utilizar o Rails como backend. Você também pode armazenar seus dados no Google App Engine (GAE), ou até gerar uma aplicação em AIR que acesse dados em uma base SQLite, dispensando conexão com a internet ou a instalação de um webserver / SGBD na máquina local.

Leia o restante do artigo

Usando checkboxes em uma relação habtm no Rails

Uma dúvida muito comum entre quem está começando a programar em Rails é como colocar uma série de checkboxes que representam uma relação habtm (has_and_belongs_to_many, ou muitos-para-muitos) entre dois modelos. É sobre isso que vou falar neste artigo. Este exemplo foi executado no Rails 2.1.

Vamos tomar um exemplo simples: Livros e Categorias. Um livro pode estar presente em várias categorias, e uma categoria pode conter diversos livros. Seus models ficam mais ou menos assim:

#Model Livro
has_and_belongs_to_many :categorias

#Model Categoria
has_and_belogns_to_many :livros


Leia o restante do artigo

Novo tutorial de RubyOnRails 2.1

Cada dia que passa eu gosto mais dessa filosofia da “comunidade”. É um ajudando o outro, outro ajudando o um, e como resultado temos materiais de ótima qualidade disponível para quem tiver a fim de aprender alguma coisa por conta própria.

Hoje o Cassio anunciou na rails-br que já está disponível o tutorial de RubyOnRails 2.1, de sua autoria, entitulado “Aprendendo Ruby On Rails“, que foi baseado no famoso e bem conhecido “Rails para sua diversão e Lucro“, do Ronaldo Ferraz.

Sem dúvida vale muito a pena ler o ducumento inteiro, mesmo para quem já usa o framework. Informação nunca é demais!

Bons estudos!