2. Criar um projeto em Ruby on Rails
Nessa aula, será apresentado a criação do projeto Computação na Prática. Para continuar esses passos, o rails tem que estar intalado na sua máquina.

1. Criar um projeto em Rails

Verificar se há alguma versão do rails instalado na máquina. Abrir um terminal do seu computador:
C:\Projetos>rails -v
Acessar o diretório um diretório qualquer no terminal e executar o seguinte comando: Por exemplo:
C:\Projetos>rails new computacaonapratica
Abrir o diretório criado "computacaonapratica" e visualizar todos os arquivos criados.

2. Acessar o diretório do projeto criado

No terminal entrar no diretório criado e instale o bundle no projeto: Por exemplo:
C:\Projetos>cd computacaonapratica
Abrir o arquivo Gemfile em um editor de texto, alterar a gem sqlite3 para:
gem 'sqlite3', '< 1.4'
No terminal entrar no diretório criado e instale o bundle no projeto:
C:\Projetos\computacaonapratica>bundle install
Descrição de cada pasta criada no projeto:
Pasta
Propósito
app/
Contém os controllers, models, views, helpers, mailers e assets.
bin/
Contém o rails script que inicia sua aplicação e pode conter outros scripts configuráveis: update, deploy ou executar sua aplicação.
config/
Configura sua aplicação relacionado as rotas, banco de dados, etc.
config.ru
Usado para iniciar a aplicação.
db/
Contém o esquema da sua base de dados e também as migrations.
GemfileGemfile.lock
Este arquivo permite especificar quais "gems" são dependentes na sua aplicação Rails. Estes arquivos são usados no momento de executar o Bundler gem.
lib/
Módulos de extensão da aplicação, novas bibliotecas prontas para serem incluídadas na aplicação.
log/
Arquivos de log da aplicação.
public/
Diretório onde o seu conteúdo estará disponível na aplicação, como arquivos de imagem.
app/assets
Diretório onde se encontram todos os conteúdos de configuração para o layout da página: javascripts, css, imagens.
app/controllers
Diretório onde se encontram os controladores da aplicação. Para cada página que houver uma ação dinâmica entre o usuário e a aplicação. É necessário criar um arquivo "users_controller.rb" com os respecitivos métodos que irão executar a ação e redirecionar o usuário para uma outra página ou apenas exibir uma mensagem de sucesso/alerta.
app/models
Diretório onde se encontram os modelos da aplicação. Para cada tabela criada no banco de dados é criado automaticamente uma classe Model. Por exemplo: "user.rb", neste arquivo irá conter todos as referências de relacionamento com outras tabelas (um-para-um, um-para-muitos), validaação das colunas, se podem ser nulas ou se possuem um valor inicial.
app/views
Diretório onde se encontram as páginas da aplicação. Nestas páginas será possível o usuário interagir com a aplicação, através de formulários. É necessário escrever código html juntamente com métodos rails e javascripts. Por exemplo: O arquivo user.html.erb
vendor/
Neste diretório ficam aplicações criadas por terceiros, são aplicações prontas que podem ser incluídas na sua aplicação, usando apenas algum método de referência ou algum javascript.

3. Adicionando dependências

Acessar a pasta config do projeto rails.
C:\Projetos\computacaonapratica>cd config
Ver o conteúdo da pasta, se não houver o arquivo boot.rb, criar um novo e adicionar o conteúdo abaixo:
C:\Projetos\computacaonapratica\config>touch boot.rb
C:\Projetos\computacaonapratica\config>nano boot.rb
ENV['BUNDLE_GEMFILE'] ||= File.expand_path('../Gemfile', __dir__)
require 'bundler/setup' # Set up gems listed in the Gemfile.
require 'bootsnap/setup' # Speed up boot time by caching expensive operations.
Ctrl+X para sair, Y para salvar, Enter. Voltar para a pasta a raíz do projeto.
C:\Projetos\computacaonapratica\config>cd ..
Adicionar o yarn para execução dos comandos abaixo e testar se foi instalado: https://classic.yarnpkg.com/en/docs/install
C:\Projetos\computacaonapratica>yarn -v
Executar o comando abaixo:
C:\Projetos\computacaonapratica>rails webpacker:install
Verifique se todos os arquivos foram atualizados.
C:\Projetos\computacaonapratica>yarn install --check-files

4. Adicionando banco de dados da aplicação

Criar o arquivo para acessar o banco de dados da aplicação. Este projeto está usando Sqlite3, mas você pode configurar outros bancos.
C:\Projetos\computacaonapratica>cd config
Ver o conteúdo da pasta, se não houver o arquivo database.yml, criar um novo e adicionar o conteúdo abaixo:
C:\Projetos\computacaonapratica\config>touch database.yml
Veja outros exemplor de arquivos database.yml para diferentes tipos de banco de dados:
C:\Projetos\computacaonapratica\config>nano database.yml
# SQLite version 3.x
# gem install sqlite3
development:
adapter: sqlite3
database: db/development.sqlite3
pool: 5
timeout: 5000
# Warning: The database defined as "test" will be erased and
# re-generated from your development database when you run "rake".
# Do not set this db to the same as development or production.
test:
adapter: sqlite3
database: db/test.sqlite3
pool: 5
timeout: 5000
production:
adapter: sqlite3
database: db/production.sqlite3
pool: 5
timeout: 5000
Ctrl+x para sair, em seguida Y para salvar e Enter para retornar para a raíz do projeto.
C:\Projetos\computacaonapratica\config>cd ..

5. Iniciando servidor web

No terminal entrar no diretório do projeto criado e inicie o servidor com o seguinte comando:
C:\Projetos\computacaonapratica>rails server
Acessar a página no seu navegador: http://localhost:3000
Visualizar a página do Rails!
A instalação do Rails foi feita com sucesso!
Para construir a página inicial da aplicação, no prompt abaixo fazer Ctrl + c para parar o servidor, então confirme a operação.
=> Booting Puma
=> Rails 6.1.4.4 application starting in development
=> Run `bin/rails server --help` for more startup options
Puma starting in single mode...
* Puma version: 5.6.1 (ruby 2.6.8-p205) ("Birdie's Version")
* Min threads: 5
* Max threads: 5
* Environment: development
* PID: 33024
* Listening on http://127.0.0.1:3000
* Listening on http://[::1]:3000
Use Ctrl+C to stop