45 votes

Quand utiliser des Helpers au lieu de Partials

Dans une application de rails, dans quelle situation utiliseriez-vous un partiel et quand utiliseriez-vous un assistant? Je trouve les deux très similaires, car ils représentent des fragments de balisage.

Y a-t-il une convention autour de cela? Quelle est la "voie" de les utiliser?

Merci!

30voto

tvanfosson Points 268301

J'imagine que ma règle générale est d'utiliser un assistant pour créer une seule "unité" d'affichage - comme une étendue contenant un lien - et d'utiliser un partiel pour construire une unité d'affichage plus complexe composée de plusieurs "unités". "d’affichage - comme une grille ou un menu.

18voto

Yardboy Points 1981

Partielle est une vue fragment, un morceau de vue qui est utile dans de multiples endroits et est sorti de manière à éliminer les doubles emplois. Bas de ligne, cependant, est que les vues - autonome ou partielle sont pour la présentation.

Comme vous le savez, les contrôleurs de la logique de traitement. Il est inévitable, cependant, que vous aurez besoin d'un peu de logique de traitement lors de la présentation d'une vue. Ainsi, par exemple, si vous avez certains de présentation la pièce qui est disponible uniquement pour les admins, vous pouvez extraire de cette logique d'aide et de garder la vue "pure" et de la présentation seulement. Les aides contiennent inévitablement le code de présentation - les balises html, et ainsi de suite - mais qui est un sous-produit de leur utilisation, ne pas leur fonction première.

Vous pouvez également combiner les deux partielle pour l'administrateur de la présentation et de l'autre pour l'utilisateur de présentation, et une aide à la logique pour déterminer celui qui est rendu dans une situation particulière.

Juste mon $.02.

8voto

Tim Koelkebeck Points 150

Les autres réponses représentent le conceptuel consensus concernant l'utilisation des aides vs partiels. Considérez les éléments suivants pour plus de lecture:

Basecamp dev de prendre le cas pour réduire au minimum le HTML dans les aides http://37signals.com/svn/posts/1108-what-belongs-in-a-helper-method

Viget dev étalonnés chaque et a constaté que les aides sont plus rapides que les partiels http://www.viget.com/extend/helpers-vs-partials-a-performance-question/

2voto

anithri Points 165

J'utilise des assistants lorsque le code est susceptible d'être réutilisé dans d'autres projets et des partiels pour le code spécifique au projet.

2voto

zenazn Points 8373

J'utilise des partiels comme sous-modèles (c.-à-d. Quelque chose avec beaucoup de balisage qui est utilisé à maintes reprises, comme un texte de blog post), et des aides pour gérer l'affichage de choses plus logiques (un div qui n'est visible que par les administrateurs, par exemple).

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X