Programação, diversão e arte. Por Ricardo Giaviti
Ruby on Rails
Framework para desenvolvimento web: Ruby on Rails
Ruby On Rails 3.0 FINAL
Aug 30th
E saiu a versão estável do Rails 3. Na verdade, essa versão saiu do forno ontem. É agora uma ótima oportunidade para quem quer começar a aprender esse fantástico framework, pois já aprenderá nessa nova versão, que está tinindo!
Há o anúncio oficial feito pelo DHH no blog http://weblog.rubyonrails.org/2010/8/29/rails-3-0-it-s-done
Você também pode ver o post do Fábio Akita: http://www.akitaonrails.com/2010/08/29/rails-3-0-final-acaba-de-ser-lancado
E finalmente a página oficial com instruções para download do Rails 3: http://rubyonrails.org/download
Lembrando, que o Rails funciona somente com o Ruby 1.8.7 e 1.9.2. Fique atento a versão do Ruby que está utilizando.
Agora é mãos a obra!
Rails 3 Beta 4 – rake aborted! uninitialized constant Bundler
Aug 10th
O Rails 3 está saindo do forno. Igualmente a todos os frameworks que são novos ou que passam por uma boa reformulação erros ocorrem de forma mais freqüente. Não poderia ser diferente com o Rails 3, que está na sua versão Beta 4.
Bem, se você está brincando com o Rails 3 Beta 4 e usando o interpretador Ruby 1.9.1p429, provavelmente está quebrando a cabeça com esse problema que da título a esse post. Esse é um bug específico dessa versão do Ruby, a p429.
O erro completo é esse:
Error loading gem paths on load path in gem_prelude can't modify frozen string <internal:gem_prelude>:69:in `force_encoding' <internal:gem_prelude>:69:in `set_home' <internal:gem_prelude>:38:in `dir' <internal:gem_prelude>:76:in `set_paths' <internal:gem_prelude>:47:in `path' <internal:gem_prelude>:286:in `push_all_highest_version_gems_on_load_path' <internal:gem_prelude>:355:in `<compiled>' (in D:/Desenvolvimento/rails_workspace/MinhaViagem) rake aborted! uninitialized constant Bundler C:/Ruby191/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rakefile' (See full trace by running task with --trace)
Primeiro de tudo, verifique a versão do Ruby que está instalado em sua máquina rodando o comando:
ruby –version
Se o resultado for:
ruby 1.9.1p429 (2010-07-02 revision 28523) [i386-mingw32]
Nota: Estou usando o Windows
Se a versão foi igual ao resultado que postei acima, infelizmente você terá o mesmo erro que eu tive. A solução é simples, porém um pouquinho trabalhosa.
- Remova todo o Ruby da sua máquina;
- Instale o Ruby versão 1.8.7
Seria bom remover todas as gems e reinstalar todas elas, mas isso não é obrigatório!
Se você estiver usando o NetBeans como IDE de desenvolvimento Rails, o erro que solucionamos acima aparecem da seguinte forma:
Espero que tenham conseguido resolver esse problema também!
Até a próxima!
Rails 3 e ainda o problema com o MySQL no Windows
Jul 30th
No dia 10/03/2009 postei uma solução de como acabar com um erro muito chato de conexão entre o Rails 2.2.2 e o MySQL em ambientes Windows. Aliás, esse é um dos posts mais “populares” aqui do blog. O erro naquela ocasião era o seguinte:
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! 126: The specified module could not be found. - c:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so (See full trace by running task with --trace)
Hoje, fui instalar o Rails 3 Beta 4 e gostaria de usa-lo com o MySQL e não com o SQLite (padrão do Rails hoje). Tudo isso rodando em ambiente Windows XP SP3. Então lá fui eu. Instalei o Ruby 1.9.1, Instalei o RubyGems, instalei o Rails 3 Beta 4 e todas suas dependências, o banco MySQL e por fim, instalei a gem do mysql usando o seguinte comando:
gem install mysql
Nesse ponto, chego a conclusão de que está tudo pronto! Basta iniciar o desenvolvimento da aplicação! Engano meu! No primeiro migrate que fui rodar usando o comando:
rake db:migrate
Me aparece o seguinte erro:
(in D:/DEV/Ruby/AppTeste) rake aborted! Mysql::Error: query: not connected: CREATE TABLE `schema_migrations` (`version` varchar(255) NOT NULL) ENGINE=InnoDB (See full trace by running task with --trace)
A mensagem é diferente daquele primeiro erro postado em 10/03/2009, porém a solução é idêntica! Basta baixar a versão antiga do libmySQL.dll e colocar esse arquivo na pasta C:\Ruby\bin (ou qualquer outra pasta que seu Ruby estiver instalado), reiniciar o MySQL e executar o migrate de novo. Feito isso o migrate vai rodar tranquilo!
Você pode baixar o libmySQL.dll aqui ou aqui. O segundo link é um link próprio do blog e o primeiro é do InstantRails.
A solução é relativamente simples, o que me surpreende é a persistência desse erro. É um dos erros mais populares para quem desenvolve em Rails com MySQL em ambientes Windows e ainda não foi corrigido. Uma pena!
Enjoy!
Rails Summit Latin America agora é RubyConf Latin America
Jul 5th
Eu tive a oportunidade de ir ao Rails Summit Latin America 2008. Foi espetacular! Acabei não podendo ir no evento do ano passado, mas esse ano eu com certeza irei. Já reservei a data em minha agenda e nos dias 26 e 27 de outubro eu estarei lá. E você? Vai?
Abaixo, segue o anúncio oficial!
O Rails Summit Latin America recebeu um upgrade e a partir deste ano se chamará RubyConf Latin America by Locaweb. Depois de duas edições de sucesso, conseguimos a permissão da RubyCentral para a utilização do nome e o apoio de conteúdo deles.
É uma grande conquista para o Brasil, que representará a América Latina recebendo esse evento conhecido mundialmente.
As novidades não param por ai. O evento deste ano será ainda maior, com o mesmo conteúdo de qualidade, palestrantes nacionais e internacionais e o melhor de tudo, custará menos da metade do preço.
Será somente R$150,00 para quem fizer a inscrição e pagamento nos primeiros dias.
Fiquem atentos. Em agosto abriremos as inscrições.
Data: 26 e 27/10/2010
Local: Centro de Convenções Frei Caneca
Para dúvidas gerais ou informações sobre patrocínio, envie um e-mail para rubyconf@locaweb.com.br.
ALGUNS PALESTRANTES DESSE ANO:
- Charles Nutter, Yehuda Katz e Evan Phoenix da Engine Yard;
- Chris Wanstrath e Scott Chacon do Github;
- David Black da Ruby Central;
- Adam Jacob da Opscode;
Fonte: http://rubyconf.com.br
Apostila de Ruby on Rails da Caelum liberada para download
Dec 15th
No último dia 12/12/2009, a Caelum liberou gratuitamente a apostila utilizada por eles nos cursos de Ruby on Rails. Para quem está começando, vale muito a pena fazer o download para estudo.
Para fazer o download, clique aqui.
Link direto para o PDF aqui.
A apostila é muito completa. É abordado desde os conceitos básico da programação em Ruby até o uso de gems, plugins e AJAX no Rails. É um bom pontapé de início essa apostila.
Abaixo segue o índice da apostila para você ter uma noção do que irá encontrar.
1 Agilidade na Web 1
1.1 A agilidade
1.2 A comunidade Rails
1.3 Bibliografia
1.4 Tirando dúvidas
1.5 Para onde ir depois?
2 A linguagem Ruby 4
2.1 A história do Ruby
2.2 Características
2.3 Instalação do interpretador
2.4 Outras implementações
2.5 MagLev
2.6 Ruby Enterprise Edition
2.7 Interactive Ruby
2.8 Tipos Básicos
2.9 Para Saber Mais – Desafios
2.10 Para Saber Mais – Desafio
3 Ruby Avançado 12
3.1 Mundo orientado a objetos
3.2 Métodos comuns
3.3 Meta-programação
3.4 Definição de métodos
3.5 Discussão: Enviando mensagens aos objetos
3.6 Classes
3.7 Desafio: Classes abertas
3.8 self
3.9 Desafio: self e o método puts
3.10 Atributos e propriedades: acessores e modificadores
3.11 Syntax Sugar
3.12 Métodos de Classe
3.13 Para saber mais: Singleton Classes
3.14 Metaprogramação
3.15 Convenções
3.16 Coleções
3.17 Blocos e Programação Funcional
3.18 Desafio: Usando blocos
3.19 Mais OO
3.20 Modulos
3.21 Manipulando erros e exceptions
3.22 Exercício: Manipulando exceptions
3.23 Arquivos Ruby
4 Ruby on Rails 29
4.1 Ruby On Rails – Apresentação
4.2 Aprender Ruby?
4.3 RadRails 30
4.4 Primeira Aplicação
4.5 Exercícios: Iniciando o Projeto
4.6 Estrutura dos diretórios
4.7 O Banco de Dados
4.8 Exercícios: Criando o banco de dados
4.9 A base da construção: scaffold (andaime)
4.10 Exercícios: Scaffold
4.11 Gerar as tabelas
4.12 Versão do Banco de Dados
4.13 Exercícios: Migrar tabela
4.14 Server
4.15 Documentação do Rails
4.16 Exercício Opcional: Utilizando a documentação
5 Active Record
5.1 Motivação
5.2 Exercícios: Controle de Restaurantes
5.3 Modelo – O “M” do MVC
5.4 ActiveRecord
5.5 Rake
5.6 Criando Modelos
5.7 Migrations
5.8 Exercícios: Criando os modelos
5.9 Manipulando nossos modelos pelo console
5.10 Exercícios: Manipulando registros
5.11 Exercícios Opcionais
5.12 Finders
5.13 Exercícios: Buscas dinâmicas
5.14 Validações
5.15 Exercícios: Validações
5.16 Exercícios – Completando nosso modelo
5.17 O Modelo Qualificação
5.18 Exercícios – Criando o Modelo de Qualificação
5.19 Relacionamentos
5.20 Para Saber Mais: Cache
5.21 Exercícios – Relacionamentos
5.22 Para Saber Mais – Eager Loading
5.23 Para Saber Mais – Named Scopes
5.24 Para Saber Mais – Modules
6 Controllers e Views
6.1 O “V” e o “C” do MVC
6.2 Hello World
6.3 Exercícios: Criando o controlador
6.4 Redirecionamento de Action e Action padrão
6.5 Trabalhando com a View: O ERB
6.6 Entendendo melhor o CRUD
6.7 Exercícios: Controlador do Restaurante
6.8 Helper
6.9 Exercícios: Utilizando helpers para criar as views
6.10 Partial
6.11 Exercícios: Customizando o cabeçalho
6.12 Layout
6.13 Exercícios: Criando o header
6.14 Outras formas de gerar a View
6.15 Filtros
7 Rotas
7.1 routes.rb
7.2 Pretty URLs
7.3 Named Routes
7.4 REST – map.resource
7.5 Actions extras em Resources
7.6 Diversas Representações
7.7 Para Saber Mais – Nested Resources
8 Completando o Sistema
8.1 Exercícios
8.2 Selecionando Clientes e Restaurante no form de Qualificações
8.3 Exercícios
8.4 Exercícios Opcionais
9 Calculations
9.1 Método
9.2 Média
9.3 Exercícios
10 Associações Polimórficas
10.1 Nosso problema
10.2 Alterando o banco de dados
10.3 Exercícios
11 Ajax fácil com RJS
11.1 Adicionando comentários nas views
11.2 Métodos de RJS Templates
11.3 Exercícios
11.4 Adicionando comentários
11.5 Exercícios
11.6 Exercícios – Enviando os dados com Ajax
12 Alguns Plugins e Gems Importantes
12.1 Paginação
12.2 Exercícios – Título
12.3 Hpricot
12.4 Exercícios – Testando o Hpricot
12.5 File Uploads: Paperclip
12.6 Exercícios
13 Apêndice A – Testes 127
13.1 O Porquê dos testes?
13.2 Test::Unit
13.3 RSpec
13.4 Cucumber, o novo Story Runner
14 Apêndice B – Integrando Java e Ruby
14.1 O Projeto
14.2 Testando o JRuby
14.3 Exercícios
14.4 Testando o JRuby com Swing
15 Apêndice C – Deployment
15.1 Webrick
15.2 CGI
15.3 FCGI – FastCGI
15.4 Lighttpd e Litespeed
15.5 Mongrel
15.6 Proxies Reversos
15.7 Phusion Passenger (mod_rails)
15.8 Ruby Enterprise Edition
15.9 Exercícios: Deploy com Apache e Passenger
16 Apêndice D – Instalação
16.1 Ruby – Ubuntu
16.2 Ruby – Windows
16.3 Rails
16.4 JDK
16.5 Aptana
16.6 Mongrel
16.7 MySQL
16.8 SVN
Problema do Rails 2.2.2 com o MySQL em Windows
Mar 10th
Desde que a versão 2.2.2 do Rails foi lançada, alguns problemas relacionados ao driver do MySQL, que conectava a aplicação Rails ao banco, começaram a surgir e incharam lista de discussões com relatos de problemas. Um desses problemas era que quando vamos executar o rake db:migrate ocorre um erro que apresentava a seguinte mensagem:
!!! The bundled mysql.rb driver has been removed from Rails 2.2. Please install the mysql gem and try again: gem install mysql. rake aborted! 126: The specified module could not be found. - c:/ruby/lib/ruby/gems/1.8/gems/mysql-2.7.3-x86-mswin32/ext/mysql.so (See full trace by running task with --trace)
Acredito que se você tem esse problema você já deva ter instalado o gem do MySQL e mesmo assim continuou tendo esse problema. Caso você não tenha instalado o gem, por favor faça:
gem install mysql --no-rdoc --no-ri
Feita a instalação, veja se na lista de gems instaladas, se encontra o MySQL. Para ver suas gems instaladas:
gem list --local
O gem do MySQL deverá estar instalado.
Bem, se você tentar rodar o migrate denovo, provavelmente terá o mesmo problema. Pesquisando pelas partes mais distantes da internet encontrei uma solução que dizia para copiar e colar o arquivo <MYSQL_HOME>/bin/libmysql.dll para pasta <RUBY_HOME>/bin. Mas isso tem um porém. Se sua versão do MySQL instalado for a 5.1 o problema continuará.
Você terá que copiar o libmysql.dll do MySQL 5.0. No link abaixo você poderá fazer o download da versão correta do libmysql.dll pra usar:
http://instantrails.rubyforge.org/svn/trunk/InstantRails-win/InstantRails/mysql/bin/libmySQL.dll
UPDATE 16/07/2010: Você pode baixar o dll por aqui também (Nunca sabemos quando um link ou arquivo sairá do ar!):
http://www.meupost.com/files/libmySQL.dll
Copie o libmysql.dll do link acima para a pasta <RUBY_HOME>/bin. Feito isso, tente novamente executar o migrate e verás que agora funciona!





Recent Comments