J'ai vue dans lequel j'ai le même lien 3 fois (vue réelle est grande):Rails Afficher DRYness - Définissez-vous des variables dans la vue ou faites-vous simplement des méthodes propres?
%h1= link_to "Title", model_path(@model, :class => "lightbox")
= link_to "Check it out", model_path(@model, :class => "lightbox")
%footer= link_to "Last time", model_path(@model, :class => "lightbox")
Ce model_path(@model, :class => "lightbox")
appel, mais assez propre, peut être fait envelopper encore plus maigre dans ce (peut-être que vous aviez encore plus d'options, font donc cela en valait la peine):
def popup_model_path(model)
model_path(model, :class => "lightbox")
end
Ma question est, j'ai recalculer cette voie 3 fois dans une vue. Quelle est la meilleure façon de: a) Séchez-vous et b) optimisez la performance?
Je pense que la définition des variables en haut de la vue pourrait être une bonne idée ici:
- path = model_path(@model, :class => "lightbox")
-# ... rest of view
Il est presque comme la moustache à la fin alors. Quelles sont vos pensées?
Mais encore une fois, c'est une bonne astuce mais en utilisant inutilement variable d'instance consomme plus de mémoire :-( –
@nimesh nikum: bien vous sacrifiez de la mémoire pour gagner de la vitesse.Utiliser une variable locale consomme aussi plus de mémoire, donc je pense que votre argument Je préfère utiliser plus de mémoire à la place de la vitesse du processeur – nathanvda
@Nimesh: ça consomme autant que de le faire dans la vue La seule différence est que vous utilisez des variables d'instance plutôt que des variables locales. du jour, vous parlez de 3 petites chaînes, donc la quantité de mémoire que vous utilisez ne vaut pas vraiment la peine d'y penser –