Hey, j'ai une certaine expérience avec MVC. mais je suis nouveau sur les rails. J'utilise la commande echafaud pour générer des fichiers par défaut. Le modèle a l'air propre et agréable, mais le contrôleur et les vues ne sont pas vraiment secs. Le contenu de new.html.erb et de edit.html.erb est presque le même et les méthodes new/edit et create/update font presque la même chose. Dans d'autres frameworks, j'ai utilisé une seule vue pour mettre à jour et créer de nouvelles entrées et aussi la même méthode dans mon contrôleur en définissant l'id comme un paramètre optionnel. Est-ce qu'ils utilisent cette structure pour garder les choses RESTful (je n'ai pas beaucoup d'indice sur le repos :()? Est-il la meilleure pratique d'utiliser ce truc par défaut pour crud?Les fichiers par défaut d'échafaudage sont la meilleure pratique?
Répondre
Le générateur d'échafaudage est un très bon endroit pour commencer Comme vous l'avez souligné, il y a des choses qui ne sont pas très bonnes, je pense que la plupart des gens prennent ce que l'échafaudage génère et ensuite le réparent à leur convenance.Par exemple, vous pouvez extraire le formulaire de new.html.erb
et edit.html.erb
et le placer dans un _form.html.erb
partiel. Puis mettre à jour new.html.erb
et edit.html.erb
d'inclure ce pour rendre la forme partielle. Je pense que pour Rails 3, le générateur d'échafaudage a été modifié pour le faire par défaut.
il ne se comme new
et edit
, et create
et update
sont à peu près les mêmes, mais vous devez vous rappeler qu'ils sont mappés à différentes méthodes HTTP et URL, qui se rattachent à l'idée de ressources RESTful entier. Consultez les RailsGuides pour le routage, la section CRUD, Verbs, and Actions a une belle table des sept routes différentes et les différences entre eux.
S'ils voulaient que vous le gardiez, ils ne l'appelleraient pas «échafaudage». C'est juste là pour tout faire fonctionner hors de la boîte. Si vous le mettez en production, vous risquerez fort de vous faire rire.
Vous devriez vérifier générateurs astucieuses-de ryanb:
http://github.com/ryanb/nifty-generators
L'échafaudage crée une vue partielle appelée _form
qui obtient alors référencé à partir des vues new
et edit
. Il est également livré avec un tas d'autres options intéressantes - comme la génération de vos vues en haml ou vos tests dans Shoulda ou RSpec.
- 1. Xcode Gestion de fichiers. Quelle est la meilleure pratique?
- 2. Meilleure pratique définie par l'utilisateur
- 3. Meilleure pratique - Fichiers MOSS 07 et Javascript?
- 4. Meilleure pratique pour charger les valeurs par défaut dans une base de données dans les rails
- 5. Nommage des clés dans les fichiers de ressources Meilleure pratique
- 6. Classes d'organisation - Meilleure pratique?
- 7. Meilleure pratique pour la structure de fichiers du serveur Web
- 8. Meilleure pratique: Nettoyage HTML généré par l'utilisateur
- 9. Les fichiers intermédiaires sont-ils une mauvaise pratique?
- 10. meilleure pratique pour l'interrogation d'annuaire
- 11. La meilleure pratique pour configurer les données de la hiérarchie
- 12. Afficher tous les fichiers par défaut
- 13. Single SignOn - Meilleure pratique
- 14. Meilleure pratique pour les services Web
- 15. Quelle est la meilleure pratique pour conserver les paramètres de configuration dans les fichiers EAR?
- 16. Quelles sont les valeurs par défaut pour Binding.Mode = Par défaut pour les contrôles WPF?
- 17. Dojo Layers meilleure pratique
- 18. Comment les sessions PHP sont-elles sauvegardées par défaut?
- 19. Les fichiers ZIP sont corrompus par IE
- 20. Approche de la meilleure pratique pour les tests automatisés
- 21. Objective-C @class/importer la meilleure pratique
- 22. Webapp meilleure pratique template_dict
- 23. Meilleure pratique pour redéfinir les classes statiques
- 24. Meilleure pratique pour créer des fichiers Stub avec Ant
- 25. Meilleure pratique avec les constructeurs JFrame?
- 26. SQL Select Meilleure pratique
- 27. Meilleure pratique pour initialiser les variables membres?
- 28. Meilleure pratique pour les autorisations d'utilisateur/groupe de serveur Web
- 29. Meilleure pratique pour la sortie PHP
- 30. Meilleure pratique pour Java IPC