Ruby: Aprender Ruby
Um guia abrangente de Ruby e Rails
👋 Bem-vindo à documentação do Stackhero!
A Stackhero oferece uma solução Ruby cloud pronta a usar que proporciona uma série de benefícios, incluindo:
- Implemente a sua aplicação em segundos com um simples
git push.- Utilize o seu próprio nome de domínio e beneficie da configuração automática de certificados HTTPS para uma segurança reforçada.
- Desfrute de tranquilidade com backups automáticos, atualizações com um clique, e preços simples, transparentes e previsíveis.
- Obtenha desempenho ótimo e segurança robusta graças a uma VM privada e dedicada.
Poupe tempo e simplifique a sua vida: só leva 5 minutos para experimentar a solução de Ruby cloud hosting da Stackhero!
Ruby e Ruby on Rails
Ruby é uma linguagem de programação interpretada de alto nível, projetada para simplicidade e produtividade. A sua sintaxe elegante permite que os desenvolvedores realizem mais com menos código, suportando paradigmas de programação procedimental, orientada a objetos e funcional.
Ruby on Rails, muitas vezes simplesmente chamado de Rails ou RoR, é um framework robusto para aplicações web escrito em Ruby. Construído sobre o padrão Model-View-Controller (MVC), Rails promove a convenção sobre configuração e enfatiza o princípio DRY (Don't Repeat Yourself), tornando mais fácil e eficiente construir aplicações web complexas.
Interface de linha de comando (CLI) do Rails
A interface de linha de comando (CLI) do Rails é uma ferramenta poderosa para gerir a sua aplicação Rails. Inclui comandos para criar novos projetos, iniciar o servidor, aceder à aplicação via consola, e gerar vários componentes como modelos e controladores. Abaixo estão alguns comandos essenciais que todo desenvolvedor Rails deve conhecer:
-
Criar um novo projeto Rails:
rails new project_name -
Iniciar o servidor Rails:
rails server -
Abrir a consola Rails:
rails console -
Gerar um novo controlador:
rails generate controller controller_name action_name -
Gerar um novo modelo:
rails generate model ModelName field:type -
Executar migrações de base de dados:
rails db:migrate
Rotas Rails
O roteamento conecta pedidos recebidos aos controladores e ações apropriados numa aplicação Rails. Oferece uma forma simples de desenhar URLs e endpoints para a sua aplicação. As rotas são definidas no ficheiro config/routes.rb. Aqui estão alguns padrões de roteamento comuns:
-
Rota raiz:
root 'controller_name#action_name' -
Rota genérica:
get '/path', to: 'controller#action' -
Rota de recurso (gera rotas CRUD padrão):
resources :model_name
Ações dos controladores Rails
Os controladores servem como intermediários entre modelos e vistas, recebendo pedidos e renderizando as respostas apropriadas. Os exemplos seguintes ilustram ações comuns de controladores para listar, mostrar, criar, atualizar e eliminar recursos:
-
Ação index (listar todos os objetos):
def index @objects = ModelName.all end -
Ação show (mostrar um único objeto):
def show @object = ModelName.find(params[:id]) end -
Ação new (mostrar formulário para um novo objeto):
def new @object = ModelName.new end -
Ação create (guardar um novo objeto):
def create @object = ModelName.new(params.require(:model_name).permit(:field1, :field2)) if @object.save redirect_to @object else render :new end end -
Ação edit (mostrar formulário para editar um objeto existente):
def edit @object = ModelName.find(params[:id]) end -
Ação update (aplicar alterações a um objeto existente):
def update @object = ModelName.find(params[:id]) if @object.update(params.require(:model_name).permit(:field1, :field2)) redirect_to @object else render :edit end end -
Ação destroy (eliminar um objeto):
def destroy @object = ModelName.find(params[:id]) @object.destroy redirect_to model_name_path end
Consultas básicas do Rails ActiveRecord
ActiveRecord é o sistema de object-relational mapping (ORM) integrado do Rails. Abstrai as interações com a base de dados e permite trabalhar com registos de base de dados como objetos Ruby nativos. Aqui estão algumas consultas comuns do ActiveRecord para buscar e manipular dados:
-
Recuperar todos os objetos:
ModelName.all -
Encontrar um objeto por ID:
ModelName.find(id) -
Encontrar um objeto por um valor de campo específico:
ModelName.find_by(field: value)
Helpers ERB do Rails
Embedded Ruby (ERB) é um sistema de templating que permite escrever HTML com código Ruby embutido. Os helpers ERB são métodos que simplificam tarefas comuns nas vistas. Aqui estão alguns exemplos:
-
Criar um link:
<%= link_to "Link Text", path %> -
Exibir mensagens de erro:
<% @object.errors.full_messages.each do |message| %> <div><%= message %></div> <% end %>
Migrações Rails
As migrações permitem evoluir o esquema da sua base de dados de forma consistente e verificável. Utilizam um DSL Ruby, por isso não é necessário escrever SQL bruto à mão, tornando as alterações de esquema independentes da base de dados. Aqui está como criar e executar uma migração:
-
Criar uma nova migração:
rails generate migration MigrationName -
No ficheiro de migração gerado (
db/migrate/):class MigrationName < ActiveRecord::Migration[6.0] def change add_column :table_name, :column_name, :type remove_column :table_name, :column_name end end