【问题标题】:Templating language for both Ruby and client-side JSRuby 和客户端 JS 的模板语言
【发布时间】:2010-11-30 16:10:17
【问题描述】:

是否有同时具有服务器端 ruby​​(pref. rails)和 JS 渲染器的模板语言?

这就是有用的原因:假设您想显示一个大的歌曲列表。您渲染前 50 个和一个“显示更多”按钮。

“显示更多”将链接到接下来的 50 首歌曲,或者如果启用了 JavaScript,则会使用 AJAX 加载这些歌曲。

简单的解决方案是从服务器返回一段渲染的 HTML,但考虑将歌曲作为 JSON 返回然后在客户端使用相同的模板渲染该有多好。

【问题讨论】:

  • 这不是一个答案,所以我不会将它作为一个答案发布。根据我对 Node.js 的了解,您所要求的是它的优势之一。您在浏览器中所做的相同 DOM 摆弄可以在服务器上使用相同的代码完成。更好的是,业务逻辑可以以类似的方式共享。可悲的是,我不知道在 Rails 中运行 javascript 解释器的方法 :-(

标签: ruby-on-rails ruby templates javascript


【解决方案1】:

Mustache.

它基于 Ruby,但有几种不同的实现,包括 JS。

【讨论】:

    【解决方案2】:

    hamlc 支持双方... slim 也有一个客户端版本,它被称为skim。

    【讨论】:

      【解决方案3】:

      Node.js 提供了在服务器端和客户端都使用 javascript 的吸引力。如果您正在寻找更多类似 ruby​​-on-rails 的东西,请查看express.js,它是基于 Node.js 构建的 Web 框架。这两个都是服务器端框架,但它们提供了可以在客户端使用的库。

      要记住的是,如果您在客户端从 JSON 数据呈现视图,那么您将需要让客户端加载 javascript 库以执行这些操作,然后呈现视图 - 这可能是一个成本更高的操作.也就是说,如果您的视图足够简单,您始终可以编写自己的简单 javascript 函数来渲染 JSON 数据,而不是依赖全新的框架和视图渲染器。

      【讨论】:

        猜你喜欢
        • 2011-07-26
        • 1970-01-01
        • 1970-01-01
        • 2013-09-13
        • 2011-09-22
        • 2012-01-20
        • 1970-01-01
        • 2011-02-23
        • 2019-12-20
        相关资源
        最近更新 更多