【问题标题】:eruby on windows7Windows 7 上的红宝石
【发布时间】:2012-05-22 05:24:18
【问题描述】:

我试图搜索是否可以在我的 windows7 机器上安装 eruby,但找不到任何东西。我可以找到如何在 apache 上安装它。但我想把它安装在我的win7机器上。

我希望我可以通过将它嵌入到 HTML 中来使用它,就像我们在 HTML 中嵌入 vbscript 并打开 html 页面一样。我走对了吗?

【问题讨论】:

  • 您是否特别需要 eRuby,还是需要 Erubis 代替? ERB 是 Ruby 本身的一部分吗?
  • @Phrogz 我不知道 eruby 和 Erubis 有什么区别。我只是想写一些东西来自动引用 vbscript 中的页面。我碰巧在 ruby​​ 中有一些 exp,我喜欢 ruby​​ 做事的方式,所以我想探索 ruby​​ 中的解决方案,这就是我遇到 eruby 之类的地方。但我想我只会寻找一个 vbscript 解决方案。
  • eRuby 是一个独立的基于 C 的模块,可以在外部运行,例如来自阿帕奇。 Erubis 是一个纯 Ruby 库,可以加载到任何平台(运行 Ruby)上的 Ruby 程序中并在那里执行转换。

标签: ruby-on-rails ruby eruby


【解决方案1】:

听起来您并不完全了解 eRuby 的工作原理,所以让我澄清一下:

当您使用 Web 浏览器在计算机上打开 HTML 文件时,Web 浏览器会从磁盘读取文件的字节,将其解释为 HTML 文档,并相应地显示它。 Web 浏览器可以理解 HTML(以及 JavaScript 和 CSS)。

ERB/eRuby/Erubis 等模板语言使用Ruby 编程语言来运行嵌入网页中的任意代码,并将该代码的结果替换为其生成的文本。这个最终文本被发送到网络浏览器;浏览器永远不会看到 Ruby 代码,而只会看到 HTML(以及 JavaScript 和 CSS)。

为此,网络浏览器无法从磁盘打开文件:
file:///C:/Users/Phrogz/Desktop/foo.erb
...但必须改为从 Web 服务器(如 Apache)请求文件:
http://localhost/test/foo
在将修改后的内容发送到浏览器之前运行 eRuby 处理器。

您可以使用 Ruby 制作一个非常简单的 Web 服务器,通过使用简单的 Web 框架(例如 Sinatra)来处理内容。但是,这仍然需要您在发出请求之前在计算机上启动 Web 服务器进程。

所以,简而言之:

不,您不能“在 Windows 7 上安装 eRuby”,从而使用 Web 浏览器从磁盘打开文件会运行 Ruby 代码。

如果您需要无服务器解决方案,您可以转而查看 client-side templating language,例如 dust.js,它在 Web 浏览器上的 JavaScript 中运行,因此可以从简单的 @ 提供服务987654329@协议。

如果您有服务器,我推荐 Sinatra 和(而不是 ERB)使用 Haml 作为您的模板语言。

【讨论】:

  • 非常感谢您的解释
  • @user1207289 不客气。如果你觉得这已经解决了你的问题,你应该accept this answer
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-04-15
  • 1970-01-01
  • 2019-08-09
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多