2010-04-10 3 views
2

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

3

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.

0

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.

1

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.

Questions connexes