2010-12-15 94 views
0

Je me demandais si quelqu'un pourrait commenter sur quel chemin est le meilleur et pourquoi?Mises en page multiples vs supercherie css vs partials dans une application rails pour la mise en page dynamique

Voici une version simplifiée de ce que j'ai (en HAML):

#header 
#root 
    #content 
    = yield 
    #sidebar 
    = context_navigation 
#footer 

Le problème:

Je veux #sidebar à afficher sur certaines pages pour afficher le menu contextuel, par exemple sur la page du compte pour afficher les liens vers le profil, le mot de passe, l'historique des commandes. Sur la page du produit montrent des liens vers les spécifications du produit, la description, "envoyer le lien", etc. Mais pas sur d'autres pages - comme sur la page d'accueil je dois utiliser toute la largeur de #root pour #content .

Solution & Question:

J'ai plusieurs idées sur la façon de le mettre en œuvre, mais je cherchais une entrée à laquelle vous pensez est une meilleure et s'il vous plaît expliquer pourquoi? L'objectif principal est la maintenabilité du code.

Voici quelques idées:

  1. CSS \ SCSS supercherie - faire la barre latérale d'un div pliable s'il y a navigation contexte est vide
  2. Utilisez un autre/si pour charger différentes partials en fonction de la partie du Je suis dedans.
  3. Créer une mise en page séparée (semble être une superposition - comme je comprends les mises en page doivent être utilisés principalement pour différents médias tels que écran vs impression vs pdf vs mobile - etc)
  4. D'autres idées?

Merci,

Nick

Répondre

0

Différentes vues pourraient bien vous servir ... vous devrez peut-être revoir votre contrôleur aussi pour les rendre plus de cas d'utilisation spécifique. Suivre cette route rendra l'application plus dynamique, augmentera la cohésion entre tous les composants et permettra une plus grande extensibilité.