Quel est le moyen préféré de Monkey Patch dans Rails 3? Je veux juste ajouter une méthode à la classe String. Je regarde plus où placer le fichier.Singe patcher dans les rails 3
Répondre
Le répertoire d'initialisation est un bon endroit pour recueillir tous ces petits morceaux. Depuis que j'ai tendance à aller un peu à la mer avec des extensions de base, j'aime faire un dossier appelé "extensions" et les lancer tous là-dedans.
Donc, essayez /config/initializers/string_extension.rb
, ou /config/initializers/extensions/string.rb
, ou quelque chose de similaire. De toute façon, vous pouvez simplement les oublier ensuite - Rails les exigera pour vous, donc vous n'avez pas besoin de le faire vous-même.
S'il est spécifique à une classe, vous pouvez simplement redéfinir la méthode dans la classe dont vous avez besoin. Sinon, cela dépend totalement de la partie de l'application que vous souhaitez utiliser votre méthode de chaîne. À titre d'exemple d'ouverture d'une classe pour redéfinir une méthode: http://codepad.org/Cj1LHmQj mais, vous saviez probablement déjà que vous pouviez le faire.
Si vous souhaitez que votre méthode de chaîne soit disponible dans de nombreux endroits, considérez un module et placez-le dans le répertoire lib, y compris si nécessaire. –
- 1. singe patcher time.time() en python
- 2. Singe patcher une classe de formulaire Django?
- 3. responds_to_parent dans les rails 3
- 4. Observe_field dans les rails 3
- 5. Comment faire un patch de singe dans Ruby on Rails?
- 6. Patcher un Ruby Gem
- 7. Comment patcher les fichiers source
- 8. Quoi de neuf dans les rails 3?
- 9. Aide avec les associations dans Rails 3
- 10. Comment rendre partial.js dans les rails 3
- 11. tiret ressources dans les rails 3 routes
- 12. Comment tarir les routes dans Rails 3
- 13. Sérialisation à blob dans les rails 3
- 14. Méthode "puts" dans les rails 3
- 15. attachment_fu test dans les rails 3
- 16. Surcharge d'une étendue dans les rails 3
- 17. config personnalisé dans les rails (3)
- 18. Non rendu recaptcha dans les rails 3
- 19. Trier les modèles d'association dans Rails 3?
- 20. observe_field dans Rails 3
- 21. SqlSessionStore dans Rails 3
- 22. URLs dans Rails 3
- 23. Rails 3: comment charger les fichiers dans/lib?
- 24. Feedzirra dans Rails 3
- 25. Pièges Ruby singe patching
- 26. Python, mongo + singe araignée
- 27. Comment patcher sur Windows?
- 28. Patcher après ILMerge
- 29. Supprimer ActiveRecord dans Rails 3
- 30. Strange DoubleRenderError dans Rails 3
Vous pouvez également les organiser en suivant ce blog, facilite le débogage et la maintenance des correctifs de singe: http://www.justinweiss.com/blog/2015/01/20/3-ways-to-monkey-patch-without- Mettre le bazar/ –