Rails 如何实现多模板?

Peter · 2014年06月05日 · 最后由 taojay315 回复于 2014年06月07日 · 2109 次阅读

不知道哪位有什么思路没有?

就是像 Discuz 的家园那样,每个用户自己的 Blog 可以设定自己的模板,最好用户还能上传自己的 css,更改 Blog 背景图片之类的,做成独有的风格。

这个在 Rails 里面应该怎么做呢?

谢谢!

用 liquid 给 user 提供可编辑的 template

Liquid::Template.file_system = DatabaseTemplate.new(current_site)

list_template = current_site.templates.find_by(name: catalog.list_article_template)
template = Liquid::Template.parse(list_template.content)
template.render( 'catalog' => catalog, 'articles' => catalog.articles )

这里是 render db 里保存的 template,需要参照这个 http://blog.nhocki.com/2012/09/05/using-liquid-include-with-db-templates/ hack 一下。

是否可以像 discourse 那样,用户自己传 css 文件?

#3 楼 @qifengle 这个简单啊,用一个表存各个用户或者系统自定义的 css 内容,然后在标签里非转移地输出就可以了。discourse 就是这么干的,存 javascript 也可以

谢谢各位,我研究一下

把 HTML 相关内容存进数据库.... 例如 template has_many images template has_one stylesheets 然后这一套对象再可以分别设置属性。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号