Ruby On Rails existe desde cerca de 2006 e é uma forma experimentada e testada de construir aplicações web. Neste tutorial, usaremos a popular biblioteca de UI Bootstrap 3 e Ruby On Rails 4 para criar um servidor e banco de dados. O aplicativo exibirá uma lista pré-preenchida de tarefas. Em lições futuras, iremos adicionar e modificar tarefas.
tl; dr CÓDIGO FONTE
Questões? Me bate no twitter
Introdução ao Ruby On Rails
Primeiro passo, verifique se você tem ROR e Postgres instalados, crie um novo projeto com um banco de dados postgres:
$ rails --version
Rails 4.1.5
$ psql --version
psql (PostgreSQL) 9.3.5
$ rails new rails-angular database=postgresql
Isso falhou com um
$ bundle install
Fetching gem metadata from https://rubygems.org/............
Fetching additional metadata from https://rubygems.org/..
Resolving dependencies…
Gem::RemoteFetcher::FetchError: SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (https://rubygems.org/gems/rake-10.4.2.gem)
Começou devagar. Foi verificado o SO e executado os comandos abaixo para uma correção:
$ rvm get stable
$ bundle install
$ bundle install
é a versão rails do npm install. Em vez de módulos npm, você usa ruby gems. Eles são definidos no Gemfile .
Em seguida, configure o banco de dados com um pouco mais de magia de trilhos:
$ rake db:create
$ rake db:migrate
$ rails server
Sempre que você altera seu esquema (banco de dados), você deve executar esses comandos para que o rails possa escrever consultas SQL para nós. (Isso mesmo, estamos em um terreno de banco de dados estruturado.)
Se abrirmos http: // localhost: 3000 , veremos a página inicial padrão do ROR.
Agora faça um modelo de tarefas, que será uma tabela no banco de dados. Os campos do modelo serão algum texto e um booleano se a tarefa for concluída. Depois de gerar o modelo de banco de dados, execute o comando de migração para que ROR possa atualizar todo o nosso SQL.
$ rails generate model Task title:string completed:boolean
invoke active_record
create db/migrate/20151202231447_create_tasks.rb
create app/models/task.rb
invoke test_unit
create test/models/task_test.rb
create test/fixtures/tasks.yml
$ rake db:migrate
Ok legal, agora vamos mostrar uma lista de tarefas na página inicial. A maneira ROR de fazer isso é criar um controlador de Tarefa. Vamos adicionar um método de ‘índice’ quando criamos o controlador:
$ rails generate controller task index
create app/controllers/task_controller.rb
route get ‘task/index’
invoke erb
create app/views/task
create app/views/task/index.html.erb
invoke test_unit
create test/controllers/task_controller_test.rb
invoke helper
create app/helpers/task_helper.rb
invoke test_unit
create test/helpers/task_helper_test.rb
invoke assets
invoke coffee
create app/assets/javascripts/task.js.coffee
invoke scss
create app/assets/stylesheets/task.css.scss
Isso gerou muita porcaria e estamos usando o coffeescript como pessoas reais de Ruby – eca.
Atualize config / routes.rb :
Rails.application.routes.draw do
root ‘task#index’
end
Então, mesmo que o controlador de tarefa seja assim:
class TaskController < ApplicationController
def index
end
end
a página ainda renderiza:
Sexy.Ok, então agora edite app / views / task / index.html.erb como a máquina Rails nos diz.
O arquivo de índice pode ser parecido com isto.
<div class=’container’>
<div class=’row text-center’>
<h1>Tasks</h1>
</div>
</div>
Vai ser feio porque ainda não temos bootstrap.
Adicionar bootstrap
A última linha do seu Gemfile :
gem ‘bootstrap-sass’
então corra
$ bundle install
Em app / assets / stylesheets / application.css, adicione:
@import "bootstrap-sprockets";
@import "bootstrap";
Todas as instruções podem ser encontradas no repositório oficial bootstrap-sass . Também temos que mudar o nome do arquivo do aplicativo para uma extensão SASS porque … bem, estamos usando SASS.
$ mv app/assets/stylesheets/application.css app/assets/stylesheets/application.scss
Agora, a palavra “Taks” deve estar centralizada na página.
Adicionar tarefas ao banco de dados
Queremos mostrar algumas tarefas inicialmente. Podemos usar $ rails console
para modificar o banco de dados a partir da linha de comando. Outra maneira de fazer isso é com db / seeds.rb . Nesse arquivo, cole em nossas Tarefas padrão:
tasks = Task.create([
{title: “Save Gotham”, completed: true},
{title: “Wash the Car”, completed: false},
{title: “Clean my room”, completed: false},
{title: “Do the Laundry”, completed: true},
{title: “Work on Mini-Project”, completed: true},
{title: “Walk the Dog”, completed: true}
])
Em seguida, preencha o banco de dados com:
$ rake db:seed
Atualize o arquivo de índice para renderizar nossos títulos de tarefas:
<h1>Tasks</h1>
<ul class=’list-group’>
<% @tasks.each do |task| %>
<li class=’list-group-item’><%= task.title %></li>
<% end %>
</ul>
Ok, agora temos uma lista de tarefas. Nas próximas lições, iremos adicionar tarefas e alternar seu status de conclusão.
Se você tiver dúvidas, entre em contato comigo no Twitter ou levante um problema no código-fonte. Obrigado por ler!