Suite
This commit is contained in:
parent
24b9e641f5
commit
a994a5fa9b
40
README.md
40
README.md
@ -25,3 +25,43 @@ $ rails g Model ModelNameLang name:string
|
||||
@admin_space = "exemple"
|
||||
end
|
||||
```
|
||||
|
||||
|
||||
## Erreurs courantes
|
||||
|
||||
### undefined method `qi_table_order' for #<Class:0x00007f0278093f40>
|
||||
|
||||
La méthode acts_as_sorting n'est pas définie dans le modèle
|
||||
|
||||
## Système de cache
|
||||
|
||||
Le système est avant tout une convention, pour le naming des champs et des méthodes.
|
||||
|
||||
Exemple, on veut stocker en cache le prix (price) dans le modèle PCustomer.
|
||||
|
||||
```ruby
|
||||
class Pcustomer
|
||||
[...]
|
||||
acts_as_caching fields: [:price]
|
||||
end
|
||||
|
||||
```
|
||||
on crée les champs cc_price et ac_price dans la table p_customers
|
||||
cc = cache
|
||||
ac = archive
|
||||
|
||||
Par convention, à chaque enregistrement le champ cc_price sera enregistré avec la valeur de la méthode ca_price (ca = calcul) sauf si le champ ac_price est rempli, dans ce cas ce sera cette valeure qui sera enregistrée dans le champ cc également.
|
||||
|
||||
Dans le cas du prix, la méthode "ca_price" ira par exemple chercher le prix actuel dans la table membership.
|
||||
|
||||
Si on veut donner la main pour indiquer un prix manuellement, qui vient écraser le prix calculer, on créera par convention le champ ct_price (ct = custom) et on commencera la méthode ca_price par un :
|
||||
|
||||
```ruby
|
||||
def ca_price
|
||||
return self.ct_price if self.ct_price?
|
||||
|
||||
methode de calcul
|
||||
end
|
||||
```
|
||||
|
||||
Toutes ces étapes permettent d'appeler la méthode price sans se soucier des calculs de cache dans le modèle.
|
||||
|
Loading…
x
Reference in New Issue
Block a user