Ruby On Rails para o desenvolvedor de pilha MEAN não iniciado

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 consolepara 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!