Documentos de Académico
Documentos de Profesional
Documentos de Cultura
create show
update
Los métodos crud se construyen
en relación a un recurso
Ejemplos
● Artículos
● Comentarios
● Usuarios
● Grupos
● Tags
● Productos
entre otros
¿Por qué construir un crud manual?
● Construir un CRUD manual nos ayudará a entender a fondo todos los pasos.
● Volveremos a repasar el patrón MVC.
● Más adelante nos ayudará a construir un CRUD anidado.
Para crear un crud manualmente tenemos que:
rails db:migrate
Ahora que ya tenemos
nuestro modelo y su controller
crearemos cada uno de los
métodos que utilizaremos
Para cada uno de los métodos
1. Agregar la ruta
2. Crear el controller (o utilizar uno existente)
3. Agregar la acción al controller
4. Crear la vista (o redireccionar) según corresponda
Crearemos el método INDEX
1) Agregamos la ruta
Rails.application.routes.draw do
get 'posts', to: 'posts#index'
end
2) Creamos el controller o utilizamos uno existente
En rails console
Rails.application.routes.draw do
get 'posts', to: 'posts#index'
get 'posts/new'
end
2) Creamos el controller o utilizamos uno existente
Esto puede ser raro, pero ahora vamos a utilizar @post en la vista
En la vista, @post que tiene el valor de Post.new, como este post todavía no persiste el formulario
apunta a /posts con el verbo post
Rails.application.routes.draw do
get 'posts', to: 'posts#index'
get 'posts/new'
post 'posts', to: 'posts#create'
end
2) Creamos el controller o utilizamos uno existente
def create
@post = Post.new(params[:post])
end
3.1) Agregamos los strong params
private
def post_params
params.require(:post).permit(:title, :content)
end
3.2) Guardamos el registro y redirigimos
def create
@post = Post.new(post_params)
@post.save
redirect_to posts_path
end
El método SHOW
1) Agregamos la ruta
Antes habíamos pasado datos a través de los query strings (lo que viene después de la URL), ahora
los pasaremos en la misma URL
@post = Post.find(params[:id])
4) Creamos la vista