Rails 请教一个 js 模板问题

ZhongWen_Zhou · 2014年02月26日 · 最后由 ZhongWen_Zhou 回复于 2014年02月26日 · 2464 次阅读

背景: 在页面中有很多 弹出框,这些弹出框目前是用 js 拼接 html 字符串然后使用 template engine 替换得来的,但是这样不好统一管理维护也困难。

我是想把所有的这些 template 都放在服务端,然后在 js 里通过<%= render %>这样的形式引入进来,但是这些 js 文件都直接是 assets/js 下面的初始文件,没有经过 controller,所以没有办法使用 render 方法来渲染,请问针对这个问题有什么好的解决方式么

请各位大牛出个主意

自己顶一个,求大神给回复,这些模板太多了,都写在 js 里面好乱,而且格式很难调

内容是静态的还是通过 ajax 获取?

最易理解的是 views 加个子页面,并提供输出 html 的接口,然后 js 中$('body').html(response);

复杂的用前端框架,实际使用也不会太复杂;

或者单独用某些 template compiler, 如:https://github.com/leshill/hogan_assets

@Rei 内容是静态的,就是一些基本的模板,但是东西很多,所以把 html 字符串杂在 js 里面很难维护

@shatle 可能我没有懂你的意思,不是请求服务器之后的页面,就是 assets 下面的 js 中有很多的 html 字符串的模板

#4 楼 @ZhongWen_Zhou 写成默认样式不显示的 html 会遇到什么问题?

@Rei 你是说直接夹在 html 页面上,然后通过 js 调用显示是吧?这个没有问题,就是挺多的,不可能把每一个弹窗都做出来撒

@Rei 另外,因为我们项目里面自己写了大量的 widget,现在只是要做一个界面改版,可能不会动太多的东西,想法就是把这些 html 模板单独抽出来,好维护一点,你说的我去尝试一下看改动代价大不吧,谢谢啦

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