javascript - 通过 ruby​​ 服务器执行 javascript 模板生成 HTML?

标签 javascript html ruby-on-rails ruby templates

我有 JST 模板(用于创建 HTML 的 tpl javascript)。它通常由客户端使用(在 JS 中)。但我希望我的服务器 ruby​​ 能够自己提出意见。 我不想重新制作 JST 模板,转换为 ruby​​,因为:

1) 两种语言的两次相同代码 => 更多维护/调试 2)多做两次,得到同样的结果,浪费我的时间

你会告诉我:“只需制作一个 ruby​​ 模板”,但我不想这样做。我希望客户端自动生成 HTML。但是,作为引用,我有时需要 ruby​​ 服务器直接渲染 HTML 而不仅仅是 JSON,所以我的问题是:

如何使用 ruby​​ 服务器执行 JS 模板?其他解决方案?

最佳答案

有多种方法可以解决这个问题:-

1)使用 Node Server - 客户端和服务器中的通用 JS 模板 - HTML 渲染作为 JS 模板的服务

在你的服务器中,你可以使用模板名称和参数调用节点服务,例如渲染日期选择器,你可以调用 http:\localhost/datepicker/date/month/year,因为你的模板是在 JS 中,节点服务器也将能够渲染这些。参见dust.js,它的工作原理几乎类似。

2)只需维护 1 个服务器端模板,并预先填充变量名称

假设您的模板是

<div>My name is ${name}</div>

使用此模板,您可以通过提供正确的名称(如“abc”或“def”等)在服务器端进行渲染。

当客户端需要模板时,您可以发送名称参数为“$$name”的相同模板,并且在客户端 js 中您可以将 $$name 替换为正确的名称。

从而在服务器和客户端上维护相同的模板。

3)使用一些类似于谷歌关闭的解决方案

如果您在 JSP 中询问同样的事情,这是直接的解决方案,但您可以在 ruby​​ 世界中寻找类似的事情。

关于javascript - 通过 ruby​​ 服务器执行 javascript 模板生成 HTML?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26510009/

相关文章:

ruby-on-rails - Rails 解析无效日期错误

ruby-on-rails - 如何在 capybara 中点击表单提交按钮

javascript - Raphael JS 翻转图像

javascript - 在 javascript 中使用 forEach 创建一个字符串

javascript - YouTube 视频高度比、拉伸(stretch)到窗口宽度以及在父容器外拉伸(stretch)

ruby-on-rails - 我将如何产生 Heroku 工作人员来分而治之关键字列表?

java - 在 javascript 中运行 java

javascript - Ajax 通过 POST 发送数据(JSON)

html - 两个 <img> 没有间距

html - 背景图像不可见 Css