En la parte anterior de la serie, generé el modelo y controlador para los invitados, además de que modifiqué el archivo routes.rb para colocar a los invitados como recursos dentro de otros recursos:
resources :weddings do
resources :guests
end
Esto hace que pueda tener una ruta como /weddings/{wedding_id}/guests/ para mostrar la lista de invitados según la boda que se pase a través del URL.
Para leer el valor de la boda dentro del controlador utilizamos la variable params la cual es como un diccionario. Así dentro de nuestro controlador de invitados podemos obtener el valor del ID de la boda de la siguiente forma:
def index
wedding_id = params[:wedding_id]
@wedding = Wedding.find wedding_id
@guests = @wedding.guests.all
end
La función del controlador es la de asignar valores a las variables que necesita la vista para mostrarse al usuario. En este caso estoy obteniendo el valor de wedding_id que viene dentro de los parámetros y lo estoy guardando en la variable wedding_id. después uso ese valor para obtener el objeto completo de la boda (usando el método de la clase Wedding). También obtengo la lista de invitados a través del objeto boda.
Una vez que asignamos los valores a variables, estos pueden ser usados por la vista para mostrarse al usuario.
ya he grabado antes screencasts donde se muestra algo de esto. En aquella ocasión usaba netbeans y una versión anterior de rails, pero los mismos conceptos aplican. Pueden verse aquí
Comentarios
Publicar un comentario