Problema com Tutorial
|
|
Pessoal estou iniciando meu estudo em RoR pelo tutorial “Rails para sua Diversão e Lucro” e estou me deparando com uns problemas, e creio que não serão os únicos, então resolvi abrir este tópico para ir postando as dúvidas e erros para servir como fonte de pesquisa para os que aprenderão um pouco de RoR pelo mesmo tutorial. 1º) Ao startar o servidor WEBrick e então dou um “Ctrl+C” para dar stop e logo em seguida tentar restartar novamente, dá o seguinte erro:
[2006-11-13 11:51:47] INFO ruby 1.8.4 (2005-12-24) [i486-linux]
[2006-11-13 11:51:47] WARN TCPServer Error: Address already in use - bind(2)
/usr/lib/ruby/1.8/webrick/utils.rb:73:in `initialize': Address already in use - bind(2) (Errno::EADDRINUSE)
from /usr/lib/ruby/1.8/webrick/utils.rb:73:in `create_listeners'
from /usr/lib/ruby/1.8/webrick/utils.rb:70:in `create_listeners'
from /usr/lib/ruby/1.8/webrick/server.rb:75:in `listen'
from /usr/lib/ruby/1.8/webrick/server.rb:63:in `initialize'
from /usr/lib/ruby/1.8/webrick/httpserver.rb:24:in `initialize'
from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/webrick_server.rb:59:in `dispatch'
from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/servers/webrick.rb:59
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'
from /usr/lib/ruby/gems/1.8/gems/rails-1.1.6/lib/commands/server.rb:30
from /usr/local/lib/site_ruby/1.8/rubygems/custom_require.rb:27:in `require'
from /usr/lib/ruby/gems/1.8/gems/activesupport-1.3.1/lib/active_support/dependencies.rb:147:in `require'
from script/server:3
2º)Configurei tudo certinho o banco de dados, criei um arquivo o comando “script/generate migration create_contexts” e configurei de acordo com o tutorial, mas ao executar “rake db:migrate” está dando o seguinte erro: (in /home/marcelo/RubyOnRails/projetos/gtd) rake aborted! Mysql::Error: Lost connection to MySQL server during query: SELECT version FROM schema_info (See full trace by running task with --trace) Como resolver primeiramente estes erros ??? Obrigado. - Editado para melhorar a formatação - |
|
|
Tem alguma aplicação usando a mesma porta que o Webrick está tentando usar. Uma alternativa é tentar rodar o Webrick em outra porta: |
|
|
Bom, o 1º resolveu, reiniciei a máquina e funcionou, agora starta e restarta normalmente !!! Agora, o 2º ta me tomando maior tempão, procurei no google alguma coisa e achei isso: “I had to do the following to fix it. > gem install mysql" Fiz isto, mas cotinua a mesma coisa!!! Alguém tem alguma outra dica, por favor. |
|
|
Marcelo, qual sistema operacional você está usando? O primeiro erro parece estar acontecendo porque o WEBrick não está fechando a conexão corretamente com o CTRL+C. Ele está dizendo que a porta usada está em uso. Você pode postar o que acontece depois do CTL+C. O segundo erro tem, aparentemente, dezenas de causas diferentes. Mais informações no site do MySQL ou no Google. A única vez em que eu vi esse erro, para falar a verdade, foi uma vez quando eu estava salvando imagens em um banco MySQL e o tamanho das mesmas excedia o packet_size do MySQL, o que não é o caso aqui. Eu imagino que no seu caso possa estar acontecendo algum timeout. |
|
|
Tem essa página também, que explica alguns problemas prováveis envolvendo coisas simples com o tipo de password hashing usado no MySQL. Isso acontecia muito quando o MySQL 4.1 mudou o esquema de senhas, mas deveria estar resolvido no Rails 1.1.6. |
|
|
Ronaldo, o 1º já está resolvido, apenas reiniciei a máquina!! Agora o 2º digitei no google “Error: Lost connection to MySQL server during query: SELECT version FROM schema_info” e dos poucos resultados que trouxe achei o seguinte: “I had to do the following to fix it. Ele executou o update, mas não resolveu em nada. Acho q estou num buraco sem saída!!! :( |
|
|
Hehehehe. Estamos postando quase que coincidentemente e nossos textos estão ficando fora de ordem. Quem estiver lendo essa thread vai ficar até confuso. Essa solução sugerida provavelmente só funcionava na época do problema com o MySQL 4.1. Alguma das outras soluções na página do Wiki que eu postei podem funcionar, talvez. Quais versões do sistema operacional, MySQL que você está usando. |
|
|
Ronaldo, achei a solução nesta página que vc postou aqui, logo no início dela !!! hehehehe Obrigado. Pessoal, caso apareça mais alguma dificuldade no tutorial, vou usar este mesmo Post!! |
|
|
Pergunta pessoal ao Ronaldo, qual S.O. vc usa? (Desculpa, mas é que bateu uma curiosidade, rs :))E qual você acredita ter maior estabilidade com o Ruby e com Rails? |
|
|
Charleno, eu uso o Ubuntu para meu desenvolvimento primário. Para testar no IE e outras coisinhas mais, uso o Windows configurado em uma virtual machine do VMWare debaixo do Ubuntu. Meu editor primário hoje é o Emacs, embora eu ainda use o RadRails nas raras ocasiões em que estou no Windows em outro computador. Sobre estabilidade e velocidade, decididamente a família Linux. Tenho aplicações rodando em Windows, Debian e Ubuntu e as no Windows sempre me dão problemas. |
|
|
Vlw, Ronaldo, thanks for all |
|
|
Charleno, tu é aquele cara que canta No Coração do Dragão? :) Deste link |
|
|
http://forum.divdev.railsplayground.net/forums/10/topics/154?page=1#posts-1466 |
|
|
Pessoal, por favor, me ajudem com outro problema. 3º)Coloquei o seguinte código no arquivo “application_helper.rb” : Depois no list.rhtml: Depois no edit.rhtml: Tanto no list quanto no edit está dando o seguinte erro:
NoMethodError in Projects#edit
Showing app/views/projects/edit.rhtml where line #17 raised:
undefined method `active' for #<Project:0xb75bc728>
Extracted source (around line #17):
14: </p>
15: <p>
16: <label for="project_active">Active:</label><br>
17: <%= select "project", "active", [["Yes", true], ["No", false]] %>
18: </p>
19:
20: <p>
RAILS_ROOT: script/../config/..
Application Trace | Framework Trace | Full Trace
Request
Parameters: None
Show session dump
---
flash: !map:ActionController::Flash::FlashHash {}
Response
Headers: {"cookie"=>[], "Cache-Control"=>"no-cache"}
|
|
|
Você lembrou de rodar a migração que adiciona a coluna active à tabela projects? O erro parece estar na inexistência da coluna. |
|
|
fiz sim: rake db:migrate (in /home/marcelo/RubyOnRails/projetos/gtd) == CreateActions: migrating =================================================== -- create_table(:actions) -> 0.0116s == CreateActions: migrated (0.0122s) ========================================== == AddStatusToProject: migrating ============================================== == AddStatusToProject: migrated (0.0000s) ===================================== |
|
|
Marcelo, poste o seu controller completo, por favor. A propósito, o esquema que você está usando para marcar código aqui no fórum esta bichado. O ideal é usar o tag HTML pre. |
|
|
Ronaldo, o controller é esse: |
|
|
Confesso que estou confuso :-) Se a coluna está no banco, não deveria estar dando erro. Se você executa algo como: p = Projet.new p.active = true p.save no console do Rails, dá o mesmo erro? |
|
|
- Alguns tópicos editados por causa de formatação de código, pouca coisa :) - |
|
|
Ronaldo, o resultado do console foi: - Editado por Ronie: colocando tags <code> e </code> no lugar de [code] ;) - |
|
|
Marcelo, a única explicação que eu tenho no momento, é que o campo active está faltando no banco. No próprio dump acima, dá para notar que o Rails não criou um atributo para o mesmo. Dê uma conferida no banco e ser for o caso, destrua o mesmo e recrie usando migrações. Ah, usar [code] não funciona. |
|
|
Ronaldo realmente era a coluna que não criou, rodei o rake db:migrate e mesmo assim continuou sem criar, então criei na mão mesmo e funcionou !!! Obrigado. Agora tenho o 4º Problema: 4º) Estou fazendo a parte do relacionamento (pág.76) e está dando o seguinte erro ao salvar o registro (tabela Action): O que vem a ser este ? |
|
|
Isso, na verdade, é deliberado :-) Tem até uma tela demonstrando o erro e um aviso para não rodar o código imediatamente, para explicar um aspecto de nomes reservados no Rails. |
|
|
Ronaldo, obrigadão, era conflito de nomes mesmo !!! Valew mesmo irmão !!! qualquer outro problema vou continuar usando este tópico, espero contar com vc, pois to iniciando agora com RoR e vou até participar de um evento semana que vem em São PAulo de RoR pra sentir mais de perto esta nova sensação!!! Vc é o Ronaldo Ferraz, o cara do evento ??? |

