使用eRuby做Web开发

分享RubyWeb by 达达 at 2007-06-15

以前写的《Ruby Web开发的几个途径》中列举了几种不使用RoR的Web开发途径。今天在补充一种觉得比较实用的,eRuby。

eRuby是一个Ruby的标准,也是一个程序的名字。eRuby让Ruby可以像PHP和ASP那样嵌入到HTML当中,很多程序都实现了eRuby标准,其中最常用的有Ruby默认捆绑的erb和eruby,前者是纯Ruby写的,后者是C语言编的程序,所以后者性能会比较高,并且eruby还实现了另外几个比较实用的功能,这一篇我主要讲的就是eruby 要弄到eruby很不容易。。。你可以找到源代码,但是你还在弄到minGW,然后下载一大堆你根本不知道怎么用的东西,再找资料想办法把eruby的代码编译过去。我想你是不会喜欢这种极度繁琐的方式的。几经周折让我找到了编译好的一份。

编译完或者下载完eruby后,找到bin目录下的eruby.exe,把它copy到Ruby的bin目录下。然后在你的IIS中配置.erb或者.rhtml指定到eruby.exe,没错,就是当成CGI来用就可以。

然后段rhtml测试下你个eruby是否配置好了 :-)

<html>
    <head>
    </head>
    <body>
        <%= "你好!"%>
        <%# 这是注释 %>
        <% 5.times do |i| %>
            <li><%=i%></li>
        <% end %>
    </body>
</html>

eruby支持以下几种标签:

<% %> 之间放的是Ruby表达式,可以跨多行 <%= %> 之间方的是值,比如变量,或者常量 以%开头的行,表示整行都是Ruby表达式,%一定要放在第一个字符 <%# %> 之间的内容不会显示,表示注释

另外一个很有用的功能是包含文件,ERuby.import("ruby.rinc")。经过实验,发现被包含文件的脚本不能使用%做行开头,只能使用<% %> ,底下是一个例子:

主文件:

<html>
    <head>
    </head>
    <body>
% ERuby.import("ruby.rinc")
    </body>
</html>

ruby.rinc文件:

<% 5.times do |i| %>
    <li><%=i%></li>
<% end %>