ERB

estis2007/05/06 (日) 06:18 に投稿

ERBはRuby1.8系から標準添付だからeRuby使用できるはずということで、ここのサーバーでの方法を試してみた。

.htaccess に、

AddType application/x-httpd-eruby .rhtml
Action application/x-httpd-eruby /rb/erb.cgi

みたいに書く。
ここでのポイントは、/rb/erb.cgi 。
これは自分のホームディレクトリが、ルートディレクトリになっているから、
public_html/rb/erb.cgi ってこと。
もちろん、ディレクトリもファイル名もお好みに。
問題は中身だ。
http://tnomura9.exblog.jp/3118941/
こちらを参考にさせていただいて、

#!/usr/bin/ruby
require 'erb'
print "Content-Type: text/html¥r¥n¥r¥n"
ERB.new(IO.read(ENV['PATH_TRANSLATED'])).run

とした。

サンプル env.rhtml
ソースは、『Rubyを256培使うための本 網道編』ただただし、arton 著 p.62 リスト2-4 を参考に、

< ?xml version="1.0" encoding="euc-jp"?>
< !DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html lang="ja" xml:lang="ja" xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html;charset=euc-jp" />
    <title> ENV Variables</title>
  </head>
  <body>
    <dl>
      < % ENV.each do |name, value| %>
      <dt>
        < %= name %>
      </dt>
      <dd>
        <% if value == "" then value = '&nbsp;' end %>
        < %= value %>
      </dd>
      < % end %>
    </dl>
  </body>
</html>

とした。