Existem muitos guias e tutoriais na internet que supostamente ensinam a criar uma aplicação Rails. Porém, com as novas atualizações, ficam faltando algumas informações que as vezes não são percebidas pelo usuário, que acaba encontrando dificuldades em testar o Rails em sua conta de hospedagem ruby on rails.
Primeiro vá no cPanel, em Ruby on Rails e crie sua aplicação. Em nome da aplicacão, preencha “app” (exemplo), marque a opção para carregar na inicialização, deixe o diretório padrão e coloque o environment como “production”.
Logo abaixo da aplicação, você verá a mensagem “Como as aplicações estão rodando em outra porta para os demais endereços de seu servidor, você deverá redirecionar o tráfego para esta porta. Para fazer isto, crie um endereço de redirecionamento para enviar os usuários para a aplicação Ruby on Rails”. Isso mostra que temos que redirecionar a porta, então vamos criar um redirecionamento.
O cPanel só redireciona domínios (previamente estacionados em sua conta) ou sub-domínios para a porta. Então, volte ao início, vá em sub-domínios e crie o sub-domínio “app.dominio.com” (onde dominio.com é o endereço do seu site). Depois volte ao Ruby on Rails, e crie um Redirecionamento. Selecione o sub-domínio app.dominio.com que irá direcionar para aplicação http://dominio.com:porta (seja qual for escolhida).
Agora, primeiro detalhe: as aplicações do Rails são criadas por padrão para utilizarem um banco de dados do tipo sqlite3. Você pode tanto modificar esse banco ou remover o uso do banco de dados, desabilitando o gem “activerecord”. Para remover o suporte ao banco de dados (neste caso iremos para fazer isto no teste), acesse /etc/rails_apps/app/config/environment.rb e abra-o no seu programa de texto preferido. Adicione o seguinte para remover esta gem: config.frameworks -= [ :active_record ]
Se você depois quiser utilizar o MySQL, pode executar o comando abaixo, que deverá ser executado na pasta /etc/rails_apps. O comando é”
# rails -d mysql nome_da_aplicacao
Voltando a aplicação, agora vamos fazer um teste. Primeiro vamos criar um controller “home”.
# ruby script/generate controller home
Bom, agora vamos criar um arquivo index.rhtml dentro da pasta /app/views/home. O arquivo deverá conter:
<h1>Teste</h1>
Após isso, inicie sua aplicação Rails no cPanel.
Acesse http://app.dominio.com/home/ – A página abriu, então está tudo OK. Vamos testar melhor. Remova o conteúdo de index.rhtml e adicione o seguinte: <%= @hello %>
Vamos dar um valor para @hello. Acesse /app/controllers/home_controller.rb. Adicione o seguinte código:
class HomeController < ApplicationController
def index
@hello = “hello world”
end
end
Acessando http://app.dominio.com/ vemos que ainda está abrindo a página padrão do rails, que é o arquivo index.html contido na pasta /public. Apague este arquivo e edite o arquivo routes.rb para modificar qual será o padrão da raiz. Abra em algum editor o arquivo routes.rb na pasta /config e procure por:
# map.root :controller => “welcome”
Descomente essa linha e modifique para:
map.root :controller => “home”
Agora ao acessar http://app.dominio.com, você verá que a página padrão mudou.
Para continuar o desenvolvimento, você pode:
- Criar um banco de dados
- Editar o arquivo database.yml – Se quiser utilizar o MySQL, o caminho do sock normalmente é /var/lib/mysql/mysql.sock.
Importante: você irá precisar de acesso SSH para ter sucesso com estas informações!
Agora que você viu o Rails em funcionamento, mãos à obra!
Criando uma aplicação Rails no cPanel
Existem muitos guias e tutoriais na internet que supostamente ensinam a criar uma aplicação Rails. Porém, com as novas atualizações, ficam faltando algumas informações que as vezes não são percebidas pelo usuário, que acaba encontrando dificuldades em testar o Rails em sua conta de hospedagem ruby on rails.
Primeiro vá no cPanel, em Ruby on Rails e crie sua aplicação. Em nome da aplicacão, preencha “app” (exemplo), marque a opção para carregar na inicialização, deixe o diretório padrão e coloque o environment como “production”.
Logo abaixo da aplicação, você verá a mensagem “Como as aplicações estão rodando em outra porta para os demais endereços de seu servidor, você deverá redirecionar o tráfego para esta porta. Para fazer isto, crie um endereço de redirecionamento para enviar os usuários para a aplicação Ruby on Rails”. Isso mostra que temos que redirecionar a porta, então vamos criar um redirecionamento.
O cPanel só redireciona domínios (previamente estacionados em sua conta) ou sub-domínios para a porta. Então, volte ao início, vá em sub-domínios e crie o sub-domínio “app.dominio.com” (onde dominio.com é o endereço do seu site). Depois volte ao Ruby on Rails, e crie um Redirecionamento. Selecione o sub-domínio app.dominio.com que irá direcionar para aplicação http://dominio.com:porta (seja qual for escolhida).
Agora, primeiro detalhe: as aplicações do Rails são criadas por padrão para utilizarem um banco de dados do tipo sqlite3. Você pode tanto modificar esse banco ou remover o uso do banco de dados, desabilitando o gem “activerecord”. Para remover o suporte ao banco de dados (neste caso iremos para fazer isto no teste), acesse /etc/rails_apps/app/config/environment.rb e abra-o no seu programa de texto preferido. Adicione o seguinte para remover esta gem: config.frameworks -= [ :active_record ]
Se você depois quiser utilizar o MySQL, pode executar o comando abaixo, que deverá ser executado na pasta /etc/rails_apps. O comando é”
# rails -d mysql nome_da_aplicacao
Voltando a aplicação, agora vamos fazer um teste. Primeiro vamos criar um controller “home”.
# ruby script/generate controller home
Bom, agora vamos criar um arquivo index.rhtml dentro da pasta /app/views/home. O arquivo deverá conter:
<h1>Teste</h1>
Após isso, inicie sua aplicação Rails no cPanel.
Acesse http://app.dominio.com/home/ – A página abriu, então está tudo OK. Vamos testar melhor. Remova o conteúdo de index.rhtml e adicione o seguinte: <%= @hello %>
Vamos dar um valor para @hello. Acesse /app/controllers/home_controller.rb. Adicione o seguinte código:
class HomeController < ApplicationController
def index
@hello = “hello world”
end
end
Acessando http://app.dominio.com/ vemos que ainda está abrindo a página padrão do rails, que é o arquivo index.html contido na pasta /public. Apague este arquivo e edite o arquivo routes.rb para modificar qual será o padrão da raiz. Abra em algum editor o arquivo routes.rb na pasta /config e procure por:
# map.root :controller => “welcome”
Descomente essa linha e modifique para:
map.root :controller => “home”
Agora ao acessar http://app.dominio.com, você verá que a página padrão mudou.
Para continuar o desenvolvimento, você pode:
- Criar um banco de dados
- Editar o arquivo database.yml – Se quiser utilizar o MySQL, o caminho do sock normalmente é /var/lib/mysql/mysql.sock.
Importante: você irá precisar de acesso SSH para ter sucesso com estas informações!
Agora que você viu o Rails em funcionamento, mãos à obra!