2010-07-29 10 views
0

J'ai travaillé sur un modèle Rails récemment appelé BaseApp2. Vous pouvez le voir sur GitHub ici: http://github.com/dannyweb/BaseApp2Ajouter un sélecteur de style à la section admin de Rails App?

Il y a une configuration de la section des administrateurs qui permet la gestion des utilisateurs et je travaille sur la possibilité d'ajouter des annonces sur le site public via la section admin.

Ce que je voudrais vraiment faire, est venu avec deux ou trois modèles de couleurs alternatives pour l'interface et permettent à l'administrateur de choisir qu'ils préfèrent et le sélectionner. Le schéma de couleurs choisi s'affichera alors pour tous les utilisateurs.

J'ai littéralement aucune idée de comment s'y prendre - idéalement, je suis à la recherche d'un tutoriel d'une sorte ou quelque chose d'aussi débutant-esque.

Merci d'avance!

Merci,

Danny

Répondre

4

Il devrait être assez facile et il y a plusieurs façons de le faire. Vous devrez enregistrer cette préférence quelque part. Peut-être ajouter un attribut à votre modèle utilisateur/personne qui spécifiera cette préférence. Et dans votre modèle de mise en page d'administration, en fonction de cette préférence, ajoutez une feuille de style supplémentaire. Ou, ajouter une classe à la balise body et dans votre feuille de style sous-classe les styles:

body { 
    background-color: white; 
} 

body.sunshine { 
    background-color: yellow; 
} 

Le modèle de mise en page:

<%= stylesheet_link_tag(current_user.theme) if current_user.theme %> 

ou

<body class="<%= current_user.theme || '' %>"> 
+0

espère que vous ne me dérange pas mise en forme –

+0

Je comprends l'ajout d'une partie d'attribut, et je * pense * que je pourrais obtenir ma tête permettant à l'administrateur de choisir parmi une liste d'options qui définirait un identifiant de style particulier dans le champ d'attribut de la base de données . Mais ... comment puis-je définir la mise en page pour charger la feuille de style choisie? – dannymcc

+0

Il pourrait être quelque chose comme: <% = stylesheet_link_tag (current_user.theme) si current_user.theme%> ou tom