使用eRuby做Web开发
以前写的《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 %>