Subindo uma aplicação Rails para o Heroku

Subindo uma aplicação Rails para o Heroku

Para quem quer uma opção de onde hospedar sua aplicação de teste gratuitamente, uma opção é o Heroku. Nesse tutorial, mostro como subir um simples aplicação de exemplo para o heroku.

Criando nosso projeto na nossa máquina

rails new heroku-test

Após criar a aplicação, vamos direto para o arquivo Gemfile. Precisamos editar uma linha. Procure onde tem a linha gem 'sqlite3'. Mude ela para como mostrado abaixo


gem 'sqlite3', group: :development

Isso nos certifica que usaremos o banco sqlite apenas no ambiente de desenvolvimento, pois para usarmos o plano gratuito oferecido pelo Heroku, temos que usar como banco de dados o Postgres.

Agora no final do nosso Gemfile vamos adicionar as seguintes linhas:

group :production do
  gem 'pg'
  gem 'rails_12factor'
end

A gem pg é para o dizer que iremos usar o Postgres em produção e a outra gem é requisito para o Heroku manipular os nossos assets. Para mais detalhes sobre esses detalhes recomendo essa leitura: 12factor.

Vamos rodar o comando para instalar as gems

bundle install

Para finalizar nossa app de exemplo, vamos criar um controller e uma view padrão, apenas para ser nossa página inicial.

rails g controller pages index

Criamos o controller pages e precisamos apenas de um método, index, para mostrar nossa página de exemplo. Vamos editar a view index com um pequeno lorem.

app/views/pages/index.html.erb

<h1>Estou no Heroku!</h1>
<p>
Lorem ipsum dolor sit amet, modo convenire cu vel, an liber oratio quo. No cum recusabo consequuntur, quo scripta eruditi civibus ne. No fabulas hendrerit philosophia has, et praesent suscipiantur vix, quo dico zril persequeris te. Ipsum reprimique dissentias usu ne. Ut quo dicta vivendo elaboraret, his te graeci corpora antiopam.

Mea mutat petentium assentior ea, duo ei vero iuvaret percipit. Nulla doctus salutandi nam in, mel at iusto hendrerit, nec no vocent perfecto invenire. Timeam oblique corrumpit at pro, pri mundi dolorem in. Debitis noluisse pertinacia pro ne, ad primis detraxit cotidieque nam.
</p>

Depois, vamos a nosso arquivo de rotas para dizer qual será a nossa página inicial padrão.

config/routes.rb

Rails.application.routes.draw do
  get 'pages/index'
  root 'pages#index'
end

Enviando para o Heroku

Agora que temos nossa aplicação pronta, falta apenas alguns detalhes.

  1. Visite o site: https://heroku.com
  2. Crie uma conta
  3. Ative sua conta
  4. Instale o Heroku toolbet
  5. Teste se está ok, digite no terminal: heroku version
  6. Adicione sua chave SSH para sua conta do Heroku: heroku keys:add

OBS: Caso não tenha uma chave SSH, veja como criar aqui

Com esses passos feitos, precisamos comitar

git init
git add .
git commit -m "Commit inicial"

Depois do commit inicial, vamos criar nossa aplicação no heroku.

heroku create
git push heroku master

Pronto, agora para ver nossa aplicação no ar, digite

heroku open

É isso, pessoal, caso tenham tido problema no meio do caminho, fala nos comentários. Ah, tem esse gist que eu fiz que tem um resumo de configurações com o git e o heroku. gist

Active Record e Arel

Mais uma vez falando do tal ActiveRecord. Ele é simples a primeira vista, mas para dominar por completo e da melhor forma seus métodos e comportamentos é necessário um pouco mais de estudo e muita prática. Os slides abaixo mostram um pouco de código feio e código elegante usando ActiveRecord e também o Arel, o poderoso gerador de consultas SQL por tras do Rails. Vale conferir

http://danshultz.github.io/talks/mastering_activerecord_arel/#/

Migrando banco de dados legado para uma aplicação Rails

Aqui no trabalho tivemos que migrar alguns dados de uma base de dados antiga (legada) para a nossa nova base de dados. Para fazer isso, pesquisando na internet 2 links foram úteis. O primeiro serviu como base para quase tudo, ele explica e da sugestões de como fazer do “rails way”.

se você precisar especificar os relacionamentos entre os modelos, o segundo link mostra em detalhes como fazer.

http://snabb.me/blog/2013-migrating-legacy-database-into-rails

http://everydayrails.com/2011/12/11/legacy-data-migrations-rails.html

Simple Form e Flash Messages compatíveis com Bootstrap 3

Em um dos meus últimos projetos precisei usar 2 coisas bem comuns em aplicações Rails. Bootstrap 3 para layout e a gem simple_form para ajudar na construção de formulários. Os formulários gerados pelo simple_form não ficavam formatados de maneira elegante, pois por padrão não segue as regras do bootstrap. Para isso fiz um fork de um Gist que resolveu meu problema, basta adicionar o código abaixo em seu arquivo de configuração do simple_form.

O outro problema eram as “flash messages” do Rails que também não ficavam de forma compatível com o bootstrap 3. Para esse outro problema achei uma maneira bem elegante de resolver isso com um outro fork de um Gist acrescentando apenas a nomeclatura nova das classes do bootstrap 3.

É isso, espero que seja útil 🙂

https://gist.github.com/gurgelrenan/8837716

https://gist.github.com/gurgelrenan/8837834