parent
b24d130e13
commit
362b50ea91
@ -0,0 +1,83 @@
|
||||
--
|
||||
layout: post
|
||||
title: "TP4 de web ruby - Gladiator"
|
||||
categories: ruby-2a
|
||||
---
|
||||
|
||||
# Gladiator
|
||||
|
||||
Ce TP a pour but de vous faire créer une API JSON Rails et de vous familiariser avec :
|
||||
|
||||
* La gestion des paramètres (`params`)
|
||||
* La découverte d'un nouveau concept de `params` validé : les `StrongParams`
|
||||
* Pratiquer les migrations
|
||||
* Utiliser des scopes
|
||||
* Comment écrire une API avec Rails
|
||||
|
||||
## Repartir du TP précédent ou repartir de zéro
|
||||
|
||||
Vous pouvez repartir du TP précédent, c'est du travail de gagné sur ce TP et vous pourrez modifier la vue du welcome (`/`) pour ajouter du détail sur les créatures au fur et à mesure.
|
||||
|
||||
Pensez à modifier `to_label` si c'est le cas.
|
||||
|
||||
Si vous repartez de zéro, n'oubliez pas d'ajouter le modèle créature avec les commande suivantes :
|
||||
|
||||
```ruby
|
||||
rails g model Creature name:string health_points:integer
|
||||
rails db:migrate
|
||||
```
|
||||
|
||||
## Params, où sont mes params ?
|
||||
|
||||
1. Rappel sur les params
|
||||
|
||||
2. Rappel API JSON
|
||||
|
||||
3. Explications des strong params
|
||||
|
||||
## Fais rouler les dés
|
||||
|
||||
Contrôleur DiceRollsController
|
||||
|
||||
Créer un diceroll => Ça retourne les jetés de dés, on peut lancer qu'un d2, d4, d6, d8, d10, d20, d100
|
||||
ça retourne le jet de dés (paramètre facultatif pour le nombre de lancer)
|
||||
|
||||
`$render $params`
|
||||
|
||||
## Ajout d'un CRUD de créature
|
||||
|
||||
### CRUD
|
||||
|
||||
`$strong_params`
|
||||
|
||||
On supportera uniquement le renommage
|
||||
|
||||
### Scoping aux créatures vivantes
|
||||
|
||||
nommer le scope `encore_vivants` en se basant sur pv > 0
|
||||
|
||||
Supporter le renommage que des créatures vivantes
|
||||
|
||||
### Ajout d'un enum vivant
|
||||
|
||||
migration + màj des données
|
||||
|
||||
nommer l'enum status
|
||||
|
||||
utiliser le scope `alives`
|
||||
|
||||
## Ajout d'une nouvelle ressource Combat
|
||||
|
||||
Ajouter une ressource combat où on fait combattre deux créatures
|
||||
|
||||
pour le combat, les créatures se soutraient mutuellement leurs PVs 1 fois
|
||||
|
||||
foreign_key `winner_id`, `loser_id`
|
||||
|
||||
le résultat du combat doit être écrit dans la resource combat (death ou draw, utiliser un enum)
|
||||
|
||||
FK, index, s'assurer qu'une créature ne se combat pas elle même
|
||||
|
||||
## Rechercher des combats
|
||||
|
||||
On veut pouvoir rechercher un combat par nom de créature et par résultat.
|
Loading…
Reference in new issue