Criando teste com rails 3

De Wiki Locaweb
Ir para: navegação, pesquisa

Antes de começar

Certifique-se de que a sua área de hospedagem está configurada para aplicações rails conforme a orientação dos artigos abaixo:


Marcador.png A Locaweb suporta Ruby on Rails?

Marcador.png Como colocar minhas aplicações Rails na Locaweb?

Marcador.png Instalando as Ruby Gems em sua área de hospedagem


A versão do Rails que recomendamos a instalação é a 3.0.9 por questões de performance. Caso necessite utilizar uma versão mais recente, opte pelo Servidor Cloud Ruby. Para instalar o Rails use o comando:


 gem install rails --version=3.0.9 --no-ri --no-rdoc

Criando a aplicação

Acesse a pasta rails_app de sua hospedagem via SSH Vídeo : Como acessar a área de hospedagem por SSH

Para criar a nossa aplicação digite o seguinte comando:

 rails new teste -d mysql

ou utilize o comando abaixo caso tenha versões mais novas do rails instaladas em sua área de hospedagem:

 rails new teste -v=3.0.9 -d mysql -v=0.2.6

Acesse a sua aplicação:

 cd teste


Alterando as configurações

Se você acessar a sua aplicação ela retornará um erro com o banco de dados. Então vá no diretório config de onde está a sua aplicação Rails e modifique o arquivo database.yml

Você encontrará algo do tipo:

development:

 adapter: mysql
 encoding: utf8
 reconnect: false
 database: teste1_development
 pool: 5
 username: root
 password:
 host: localhost

Onde você deve alterar o database para algum criado em seu painel de controle da Locaweb coloque em host o ip do banco de dados, com os respectivos login e senha. por exemplo:

development:

 adapter: mysql2
 encoding: utf8
 reconnect: false
 database: alissonmenezes8
 pool: 5
 username: alissonmenezes8
 password: *****
 host: 186.202.13.21


Nota: Você pode colocar o mesmo banco de dados para development e production. Para test deve utilizar outro banco de dados.

Edite o arquivo environment.rb que pode ser encontrado no diretório config da sua aplicação Rails colocando a seguinte linha no começo do arquivo:

 ENV['GEM_PATH'] = '/home/SEU_LOGIN_FTP/.gems'

Agora instale a gem do mysql2 com a versão 0.2.6 compatível e recomendada a utilizar com o Rails 3.0.9

 gem install mysql2 -v 0.2.6 --no-ri --no-rdoc

Feito isso você deve refazer as configurações da sua aplicação com o comando:

 rake db:migrate

Criando a aplicação simples

Dentro da pasta teste digite o seguinte comando :

 rails g controller hello index

Este comando cria um controlador chamado hello com um metodo index que vai puxar o conteudo da index.html que vai ser criada em sua hospedagem Você pode verificar esses arquivos no diretório apps dentro do diretório da sua aplicação rails

Edite o arquivo routes.rb que pode ser encontrado na pasta config:

 vi config/routes.rb

digite:

 /root

Procure pela linha comentada que está:

 #root :to => "Welcome#index"

Descomente e altere para:

 root :to => "hello#index"

Então apague o arquivo index.html da pasta public da sua aplicação Rails.

rm public/index.html

use o comando:

 rake db:migrate

para atualizar as configurações no banco de dados, então crie um link simbólico para acessar a sua aplicação: (Nota: rode este comando fora da public_html)

 ln -s ~/rails_apps/teste/public ~/public_html/site

Crie um subdomínio em seu Gerenciador de Domínios do painel de controle Locaweb, por exemplo:

rails.dominio.com.br

Aguarde o tempo de instalação e teste a sua aplicação novamente.

Possíveis problemas

Ao acessar o exemplo, a seguinte mensagem de erro pode aparecer:

Erro

Execute o seguinte comando dentro do diretório de sua aplicação rails:

 bundle install --path vendor/bundle

Esse comando fará com que as gems sejam carregadas do diretório correto em sua área de hospedagem.


Veja também