Agora vamos ao que interessa: Programar! :)
Depois de instalar o Ruby e o Rails, e testar o servidor, vamos agora testar o Ruby on Rails! Para isso, iremos fazer uma aplicação qualquer. Como em qualquer outra linguagem, vamos fazer o "Hello World!" para começarmos :D
Teríamos que criar uma nova aplicação. Mas, para facilitar, iremos utilizar a aplicação já feita no artigo anterior, "projeto" (utilizada para testar o WEBrick).
Os controladores (controllers), onde são gerados os códigos, são encontrados na sub-pasta "app" (abreviação do inglês "application") no diretório da aplicação (projeto).
Fig.2: Explorando a pasta "controllers"
Vamos agora gerar um arquivo para testarmos. Chamaremos de "teste" esse arquivo, onde conterá a classe controladora teste.
Na Prompt de Comando, dentro do diretório "projeto", digite:ruby script\generate controller teste
Fig.3: Criando arquivo "teste"
Fig.4: Arquivo "teste" criado
Poderá ser visto na pasta controllers a nova classe gerada: teste_controller
Fig.5: teste_controller
Se editarmos esse arquivo (teste_controller), veremos apenas um esqueleto da classe TesteController.
Fig.6: Definição da classe TesteController
Antes de incluir qualquer linha de código no esqueleto, aparecerá uma mensagem se tentarmos iniciar a aplicação. Para isso, inicialize o servidor (como mostrado no artigo anterior) e acesse:
http://localhost:3000/teste
Fig.7: Mensagem: "Ação desconhecida"
Já se tentarmos acessar um aplicativo inexistente, ele mostrará outra mensagem:
Fig.8: Aplicação inexistente: "Caminho errado"
Implementar o código da aplicação resolverá o problema da mensagem da figura 7. Então poderá pular o próximo passo e seguir com a implementação.
------------------------------------------------------------
Mas e se o problema for outro? Como devemos proceder?
Aí vai um problema típico:"no such file to load -- sqlite3"
Fig.9: Mensagem de erro: "Arquivo fonte ausente"
Solução? Simples: É necessário ter a dll do SQlite3 instalada.
1º Baixe a SQlite: http://www.sqlite.org/sqlitedll-3_5_4.zip
2º Copie o arquivo sqlite3.dll para dentro da pasta bin no diretório de instalação do Ruby
3º Instale-o com o gem install sqlite3-ruby no Prompt de Comando
Fig.10: Pasta bin em ruby
Fig.11: Copiando a dll para a pasta bin
Fig.12: Instalando o SQlite3: gem install sqlite3-ruby
Depois de instalado, novamente acessaremos o http://localhost:3000/teste.Se a mensagem for a mesma da figura 7, então funcionou! Se não, reveja os passos e tente achar o erro.
------------------------------------------------------------
Agora, vamos escrever código! :)
Dentro do esqueleto, vamos inserir o seguinte texto:
Fig.13: Escrevendo "Hello World"
Erro no código poderá gerar erro de sintaxe:
Fig.14: Mensagem de erro sintaxe
Lembrando que a partir do Rails 2.0 , não é utilizado mais o render_text, como também não utiliza mais o render_action. Algums sites ou tutoriais não alertam isso.
Fig.15: Utilizando método extinto: render_text
A utilização dos mesmos gerará erro:
Fig.16: Método indefinido: render_text
Mas, se foi utilizado o render :text como na figura 13, o resultado é:
Hello World:)
Anúncio do Ruby on Rails, feito pela Nectarine para a conferência webDU
Veja mais:
"Ruby on Rails, web development that doesn't h..."
"Ruby on Rails, web development that doesn't h..."
Links relacionados:
http://algumasideias.net/tag/sqlite/
http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html?page=2
http://www.akitaonrails.com/2007/9/29/se-preparando-para-rails-2-0
9 comentários:
Parabéns pelo blog!
Não sei se você já pensou nisso, mas, que tal se o teu blog fosse "focado em desenvolvimento usando Windows"?
Fica a sugestão ;-)
Forte abraço,
Que ótimo! Mais um blog sobre Ruby on Rails, vou assinar o feed se você prometer mantê-lo sempre atualizado. Mas a dica é a seguinte, de tópicos sobre como iniciar com ruby on rails, a blogosfera já está cheia, vamos tentar inventar coisas novas, redigir artigos e dar dicas importantes, principalmente sobre nossa experiência do dia a dia, como dificuldades bobas, que as vezes nos consomem horas. Em meu blog vou buscar também traduzir alguns textos e tutoriais importantes.
Mas não perde a idéia! Dá continuidade!
Um abraço!
Cara, de todos os blogs e tutorias que vi, este foi o único que realmente me ajudou. Explicou certinho o que eu estava fazendo de errado, e como corrigir!
Muito obrigado!
Fala Diego, estou enroscado na instalação do SQLite3 desse tutorial. Já baixei o sqlite3.dll e o sqlite3.exe no site e copiei na pasta c:\ruby\bin, mas cada vez que eu executo o comando "gem install sqlite3-ruby" ele retorna o erro:
ERROR: error installing sqlite3-ruby:
ERROR: failed to build gem native extension.
C:/ruby/bin/ruby.exe extconf.r install sqlite3-ruby
checking for fdatasync() in rt.lib... no
checking for sqlite3.... no
nmake
'nmake' não é reconhecido como um comando interno ou externo, um programa operável ou um arquivo em lotes.
Gem files will remain installed in C:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4 for inspection.
Results logged to C:/ruby/lib/ruby/gems/1.8/gems/sqlite3-ruby-1.2.4/ext/sqlite3_api/gem_make.out
Por favor me dê uma dica de como resolver isso?
thifacco@gmail.com
Um abraço!
stou tendo exatamente o mesmo problema que o Thiago.
Na hora que vou instalar, ele da esses erros e nao instala o sqlite.. snif
Aparentemente as novas versões do sqlite3 não funcionam no windows.
Eu resolvi esse problema instalando versões mais antigas. Assim:
gem install sqlite3-ruby -v 1.2.3
gem install hpricot -v 0.6
Instalou normalmente.
Para quem ainda estiver com problema para instalar o sqlite.
basta fazer o download dessa versão
http://www.sqlite.org/sqlitedll-3_6_10.zip
instala de boa
Veja como a vida é: Ao pesquisar sobre a solução de um problema, acabei caindo no teu blog! ;-)
Bem, meu problema era o mesmo do Dimas, resolvi como ele sugeriu, mas para mim só deu certo depois que baixei da Internet a .DLL "sqlite3.dll" para a pasta C:\WINDOWS\System32...
Um abraço e muito obrigado pelo blog!
Parabens pelo tutorial, vejo como o interessados em RoR estão crescendo.
Se me permite vou colocar um link para seu blog no meu.
www.jcmaciel.com
[]'s
Postar um comentário