Notas sobre Ruby e Rails.

CRUD.md 3.5KB

CRUD

Acrônimo para Create, Read, Update, delete. O CRUD se refere a um conjunto de funções que que manipulam um objeto dentro do sistema. Em um aplicativo Rails, o ideal é que cada modelo deve ter um controlador com suas funções de CRUD.


CRUD Ação Descrição

CREATE
new Formulario para criar nova entrada.
create Processar a nova entrada.

READ
list Listar as entradas.
show Mostrar uma entrada unica.

UPDATE
edit Formulario para editar uma entrada.
update Processar a edição de uma entrada.

DELETE
delete Formulario para deletar uma entrada.
destroy Processar a ação de deletar uma entrada.

O CRUD normalmente vai dentro de um Controlador que tem um nome em plural e está linkado a apenas um modelo.

Ele também ajuda a criar URLs limpas e simples:

  • paginas/nova
  • fotos/deletar
  • usuario/editar

Read

List

Para criar uma função basica para listar todos os objetos de um modelo, primeiro precisamos criar um metodo no controlador. Atravez das convenções do Rails, o nome desse metodo vai ser igual ao nome do template do View. Precisamos carregar também uma instance variable no controlador com a lista de objetos. Essa variavel vai estar disponivel no View.

Exemplo

1- Levando em consideração que o modelo Paginas foi criado e tem o paramentro titulo, alem de entradas no banco de dados.

2- Gere um controlador: $ rails generate controller paginas

3- No novo arquivo do controlador app/controllers/paginas_controller.rb:

class PaginasController < ApplicationController
    def lista
         @paginas = Pagina.order("paginas.titulo ASC")
    edn
end

4- Crie o arquivo app/views/paginas/lista.html.erb

<h1>Lista de páginas:</h1>
<ul>
    <% @paginas.each do |pagina| %>
        <li>
            <%= link_to(pagina.titulo {:action =>'mostrar', :id => pagina.id}, :class => 'link') %>
        </li>
    <% end %>
</ul>

5- (re-)inicie o servidor com o comando $ rails server e entre na página http://localhost:3000/paginas/lista para ver a lista de páginas no sistema.

Show

Para criar a ação basica de mostrar um objeto, é necessario ter o *id** ou algum outro parametro para achar a entrada que está sendo procurada.

Exemplo

voltar