debe almacenar el diseño que el usuario ha elegido en la variable de sesión (el más fácil, pero perdió cuando el usuario borra las cookies o utiliza un equipo diferente), o en su base de datos.
digamos que las hojas de estilo tienen cinco nombres, cada uno correspondiente a un color:
blue_stylesheet.css
green_stylesheet.css
red_stylesheet.css
orange_stylesheet.css
white_stylesheet.css
Coloque estos archivos dentro de public/stylesheets.
tienda elección del usuario de la hoja de estilo en la variable session[:style]
así:
session[:style] = 'green'
Este valor persistirá mientras el usuario no borre sus cookies.
Cree un archivo application.erb en sus diseños si aún no existe uno. El código en este archivo se representará para cada plantilla en su sitio. Debe contener una línea como <%= yield %>
. En este lugar el siguiente archivo:
<%=stylesheet_link_tag session[:style]+'_stylesheet'%>
eso es todo!
¡Buena suerte!
Disculpa, no formulé la pregunta correctamente. Quise decir que el usuario eligió un tema que persistirá para su página sin importar quién visitó su página, no solo para ellos. Pero, <% = stylesheet_link_tag session [: style] + '_ stylesheet'%> es lo que estaba buscando. Supongo que debería permitir que el usuario establezca preferencias en el perfil y luego simplemente reemplace [: style] con @ user.theme? ¿Funcionará eso? Gracias –