- Ter uma aplicação simples no Ruby on Rails funcionando
- Ter testes unitários escritos com o rspec
- Ter testes utilizando o Capybara
- Conseguir executar todos os testes com a aplicação dockerizada
- Resolver o problema do binário do chrome em docker
rails new blog
bin/rails server
bin/rails generate controller Articles index --skip-routes
bin/rails generate model Article title:string body:text
bin/rails generate model Comment commenter:string body:text article:references
bin/rails db:migrate
Criei uma nova rota editando o config/routes.rb
e adicionando:
get "/articles", to: "articles#index"
Este comando gera tudo, inclusive o HTML da página em app/views/articles/index.html.erb
.
Defini o endpoint /articles como root adicionando a linha:
root "articles#index"
No arquivo config/routes.rb
.
Um console para brincar com as models está disponível em
bin/rails console
Para criar uma model nesse playground:
article = Article.new(title: "Hello Rails", body: "I am on Rails!")
article.save
Para encontrar ela pelo ID (1) usando o ORM do ruby:
Article.find(1)
List all:
Article.all()
Lembre-se que o
()
quando não há argumentos é opcional
Foi introduzido o resourceful routing,
agora não é mais necessário ter uma linha para cada action no config/routes.rb
.
bin/rails routes
Exibe as routes existentes
Repare nos campos belongs_to
e has_many
usados para indicar o parentesco
entre as models article e comment.
- O
capybara
já vem instalado por padrão num projeto rails - Não mexi em NADA no
test/test_helper.rb
- Escrevi um teste em
test/system/root_page_test.rb
- Executei com:
rails test:system
- Já funcionou!
Parei aqui: https://guides.rubyonrails.org/getting_started.html#using-concerns
This README would normally document whatever steps are necessary to get the application up and running.
Things you may want to cover:
-
Ruby version
-
System dependencies
-
Configuration
-
Database creation
-
Database initialization
-
How to run the test suite
-
Services (job queues, cache servers, search engines, etc.)
-
Deployment instructions
-
...