Un article un peu fourre-tout pour placer des snippets de code car :
- Il est parfois utile de pouvoir éditer des fichiers en back-office d’un site web.
- Il est parfois utile de faire de l’upload sans passer par un Uploadeur.
Cela peut etre par exemple :
- Des fichiers de configurations
- Un fichier de theme css (mon cas)
- …
Le truc, c’est qu’il s’agit généralement d’informations liées à un modèle. On n’a donc pas envie de toucher au controlleur pour faire cela.
Et bah en fait c’est assez simple à gérer avec ActiveRecord sans toucher aux controlleurs.
Edition de fichiers :
Pres-requis :
- On a un modèle (ModuleX)
- Le fichier que l’on souhaite créer/éditer est le suivant : config/modulex.conf
L’astuce consiste à regarder l’implémentation de update_attribute.
On va donc faire en sorte de répondre à cette méthode :
Le getter ouvre le fichier. Le setter l’enregistre. Aussi simple que ça.
Il suffit après d’utiliser modulex_configuration comme n’importe quel champ active_record. :)
Puis, il est possible et assez simple d’utiliser Ace Editor pour obtenir une interface sympa.
Upload de fichiers :
Dans le cas ou l’on ne veut pas passer par un Uploader déja tout fait :