Sie sollten das Layout speichern, die der Benutzer in den Session-Variablen ausgewählt hat (am einfachsten, aber verloren, wenn der Benutzer Cookies löscht oder verwendet einen anderen Computer), oder in Ihrer Datenbank.
Können sagen, die Stylesheets fünf Namen, die jeweils einer Farbe:
blue_stylesheet.css
green_stylesheet.css
red_stylesheet.css
orange_stylesheet.css
white_stylesheet.css
Platz diese Dateien innerhalb von public/stylesheets.
Shop die Auswahl des Benutzers von Sheet in die session[:style]
Variable wie so:
session[:style] = 'green'
Dieser Wert bleibt bestehen, solange der Benutzer seine Cookies nicht löscht.
Erstellen Sie in Ihren Layouts eine application.erb-Datei, falls noch keine vorhanden ist. Der Code in dieser Datei wird für jede Vorlage auf Ihrer Website gerendert. Es sollte eine Zeile wie <%= yield %>
enthalten. In dieser Datei Ort der folgende:
<%=stylesheet_link_tag session[:style]+'_stylesheet'%>
Das ist es!
Viel Glück!
Es tut mir leid, dass ich die Frage nicht richtig angegeben habe. Ich meine, lassen Sie den Benutzer wählen Sie ein Thema, das für ihre Seite persistent bleibt, egal wer ihre Seite besucht hat, nicht nur für sie. Aber, <% = stylesheet_link_tag session [: style] + '_ stylesheet'%> ist was ich gesucht habe. Ich denke, ich sollte dem Benutzer erlauben, Präferenzen im Profil zu setzen und dann einfach [: style] durch @ user.theme ersetzen? Wird das funktionieren? Danke –