寻找一个简单的红宝石模板解决方案

时间:2008-12-17 14:26:45

标签: ruby cgi template-engine

我正在寻找一个简单的ruby模板解决方案,即可以让我编写类似php或jsp的模板(带有嵌入式代码标签的html),但是在ruby中。 jsp对我没有好处,因为大多数托管服务(我在dreamhost上)都不支持它的默认包,而且设置起来有点麻烦。 php很容易启动和运行,但我讨厌语法,我想念所有伟大的ruby。

erb似乎接近我正在寻找的东西,但如何设置服务器(htaccess文件等)来提供服务呢?

P.S。请不要建议Ruby On Rails。对我正在做的事情来说,这是一个巨大的过度杀伤力。

8 个答案:

答案 0 :(得分:4)

您可以找到非常简洁的教程,了解如何使用here上的eruby设置所有服务器内容以提供html。

答案 1 :(得分:3)

ERB作为其核心的一部分内置于语言中。如果您不知道它是什么,它是Ruby附带的Ruby on Rails背后的模板引擎。 (所以不要把它归咎于Rails。)它足够强大你想到的任何目的。

我自己使用ERB创建了一个脚本,该脚本使用RSS提要并将文章输出到html文件中。因此,不要抱怨它是重量级的......因为下载文章并通过XML解析器解析它们比输出html要慢。

答案 2 :(得分:2)

如果您的网络服务器有机架,您应该查看waves。它是一个最小的框架,可以让你以最小的开销进行erb或erubis模板化。

答案 3 :(得分:2)

我会推荐使用erb或haml的Sinatra.rb。 对于托管的小型网站,您可以免费使用heroku。

答案 4 :(得分:0)

要在第一个答案中添加内容,如果ERB存在性能问题,则可以尝试Erubis。它是ERB的一个非常快速和兼容的版本。

答案 5 :(得分:0)

好的,我明白了。感谢。

ERB是我的选择。如果您有兴趣,dreamhost的配置脚本是here

答案 6 :(得分:0)

ERB是明显的选择,但我已经成长为喜欢Haml& Sass也是。他们非常简洁。

如果您正在寻找的是微框架,Sinatra非常简单,并且支持多种模板语言,包括ERB和Haml。

答案 7 :(得分:0)

使用模板引擎需要您在外部文件中编写HTML代码,如果您担心如果过度使用引入框架,那么erb也是如此。它不作为程序执行的一部分工作,但您需要针对您的erb文件运行它。您可能想要查看我开发的dom gem。使用这个gem,您可以直接在Ruby脚本中生成HTML字符串,如下所示:

require "dom"
["foo".dom(:span, class: "bold"), "bar"].dom(:div).dom(:body).dom(:html)
# => "<html><body><div><span class=\"bold\">foo</span>bar</div></body></html>"