【问题标题】:Shared Rails and JavaScript views共享 Rails 和 JavaScript 视图
【发布时间】:2011-06-16 03:27:48
【问题描述】:

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

我的 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 模板呈现?

【问题讨论】:

  • 如果你的观点足够简单,你可以看到你能走多远,例如在这种情况下,HAML 和 HAML-JS (github.com/creationix/haml-js)。

标签: javascript ruby-on-rails templates


【解决方案1】:

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

更新: 看起来现在有一个很好的宝石来完成它,叫做 stache:https://github.com/agoragames/stache

【讨论】:

    猜你喜欢
    • 2012-09-27
    • 2010-11-03
    • 1970-01-01
    • 1970-01-01
    • 2011-06-27
    • 2014-05-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多