Windows の Apace で eRuby を使いたくて、ネットを探し回ったが結局分からなかったので、CGI と erb.rb を利用して自作(?)した。
httpd.conf を、スタートメニューの中の Apace メニューから開いて、 <Directory "C:/Program Files/Apache Group/Apache2/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> の Options None を Options ExecCGI に変更して /cgi-bin/ で CGI が使えるようにして、さらに、 # Filters ... のセクションに AddType application/x-httpd-eruby .rhtml # Action ... のセクションに Action application/x-httpd-eruby /cgi-bin/erb_cgi.cgi を追加して、*.rhtml なファイルがリクエストされたとき、erb_cgi.cgi スクリプトが呼び出されるようにした。リクエストされたファイルは、環境変数 PATH_TRANSLATED でスクリプトに渡される。 最後に、次のスクリプト erb_cgi.cgi を /cgi-bin/ ディレクトリに作成した。 #!C:/Program Files/ruby-1.8/bin/ruby require 'erb' print "Content-Type: text/html\n\n" ERB.new(IO.read(ENV['PATH_TRANSLATED'])).run Apache を再起動したら、好きなところにおいた *.rhtml ファイルがレンダリングされて出てきた。昨日から悩んでいたわりには、簡単な解決法だった。動作は遅いけれど自分用だから、まあ、いいか。 *注意! eruby と erb は仕様が違うので注意が必要だ。erb では <% タグの中の print 文は その位置に展開されるのではなく標準出力に出力される。eruby で動作していた *.rhtml ファイルが動かないときは <% タグの中のprint を削除して、引数を <%= タグの中に入れるようにすると同じように動作するはずだ。 ただ、erb の仕様だと ruby スクリプトを HTML 以外のどんな文書にも埋め込むことができる。たとえば、アルゴリズム関係の記事をぐりぐりテキストファイルなどに書いていて、その中にルビーのサンプルプログラムを埋め込んでおいても、erb sample.txt でサンプルプログラムを実行してみることができる。そのほかにも erb の利点はたくさんあるそうだが、管理人には難しすぎて分からない。 しかし、最近の Ruby は WWWサーバーも、Agile な開発環境も、Ajax も、CGI もサーバーサイドスクリプトも、ブログエンジンも、YAML も JSON も全部自前でやってしまっている。Ruby とウェブブラウザさえあれば何でも簡単にできるという、おそろしいことになってきたものだ。 Ruby on Rails を利用したワープロや表計算が出現したら完璧だ。
by tnomura9
| 2006-05-21 16:16
| Ruby
|
Comments(2)
###############################
私はWindowsXP Professional, Ruby1.8.4, Apace1.3.34で eRuby を使用しています。 ↓をダウンロード&解凍して ftp://ftp.ruby-lang.org/pub/ruby/binaries/mswin32/ext/eruby-1.0.5-i386-mswin32-1.8.zip 解凍されたフォルダ内のファイルを、Rubyのそれぞれのフォルダに配置します。 ############ httpd.confの修正 修正前 Options Indexes FollowSymLinks MultiViews 修正後 Options Indexes FollowSymLinks MultiViews ExecCGI 修正前 #AddHandler cgi-script .cgi 修正後 AddHandler cgi-script .cgi ############test.cgi #!/usr/bin/eruby -C -Ks <html> <head> <title>Japan日本ニッポン</title> </head> <body> <p><%= "時刻は " + Time.now.to_s %></p> </body> </html> ############ http://127.0.0.1/cgi-bin/test.cgi 時刻は Sun May 28 15:48:38 東京 (標準時) 2006 ############
0
![]()
コメントをありがとうございました。
Windows でも eruby が使えるんですね。
|
カテゴリ
新型コロナウイルス 主インデックス Haskell 記事リスト 圏論記事リスト 考えるということのリスト 考えるということ ラッセルのパラドックス Haskell Prelude Ocaml ボーカロイド 圏論 jQuery デモ HTML Python ツールボックス XAMPP Ruby ubuntu WordPress 脳の話 話のネタ リンク 幸福論 キリスト教 心の話 メモ 電子カルテ Dojo JavaScript C# NetWalker ed と sed HTML Raspberry Pi C 言語 命題論理 以前の記事
最新のトラックバック
最新のコメント
ファン
記事ランキング
ブログジャンル
画像一覧
|
ファン申請 |
||