共享Rails和JavaScript视图

时间:2011-06-16 03:27:48

标签: javascript ruby-on-rails templates

我有点困惑为什么这不是一个更普遍解决的问题,但现在就是这样。

我有我的Rails应用程序,可以正常生成我的视图。 我在界面上有一些动态内容。

我想进行AJAX调用,返回JSON,并填充应用程序的动态部分。我会使用JS模板库来做到这一点。

我不想进行AJAX调用,让Rails处理视图并发回所有HTML。我希望响应是JSON,因此减少了处理和连线时间。

问题在于我动态生成的HTML与我在Rails页面加载时静态生成的HTML(想想AJAX分页)。 HTML自然在我的ERB文件中。但是当我生成更多内容(比如第2页)时,我显然无法访问ERB文件,需要在JavaScript模板文件中复制HTML。

是否有解决方案允许我在Rails和JS之间分享我的观点? (我理解尝试将ERB与JS渲染......循环,条件等混合起来有点尴尬)

人们通常会选择渲染HTML并通过网络发送吗?或者,他们是否在页面加载时笨拙地执行JavaScript以使用JS模板进行渲染?

1 个答案:

答案 0 :(得分:3)

我过去遇到了同样的问题。我能够用Mustache解决它:http://mustache.github.com/当时没有简单的方法来设置带有rails的胡子,所以我不得不一起编写代码。看起来现在这里有一个lib:https://github.com/goodmike/mustache_rails3

更新: 看起来现在有一个很好的宝石来实现它,称为stache:https://github.com/agoragames/stache