我目前正在开发一个简单的 Web 应用程序,其中每个用户都有自己的网站和自己的子域。
我想为每个用户提供一个设置面板,其中有一个表单可以仅更改其网站的一些简单的 css 属性。
我正在考虑使用 jquery 和颜色选择器来更改元素颜色的简单表单。每个用户可能都必须有自己的样式表? (不是完全访问它,而是为了使属性对于该站点来说是唯一的。)
我不完全确定如何将它们组合在一起。
如果有人有想法,我将非常感谢您的帮助。
最容易实现的方法是在布局的 html-head 部分生成可自定义的 css 语句,而不是在单独的 css 文件中。这样你也不必考虑缓存问题。
当然这不是可扩展性最强的方法,因为 CSS 是为每个页面编写的。但首先要让它发挥作用,而不是让它变得更快。
好吧,我找到的答案非常简单。
为了更改背景颜色,我在
:string
表格中添加了 sites
字段
称为 bgcolor
。
然后,我将新输入添加到我的 simpleform 表单中 - 在站点的新视图和编辑视图上。
最后,我在我用于用户站点的
layout中添加了一个内联
<style>
块
<style type="text/css">
body{ background-color: <%= @site.bgcolor %>;}
</style>
对于我想要定制的其他所有内容也是如此。 一切似乎都很顺利。为 ERB 赢得胜利。