rbファイルをブラウザからアクセスして動かす

簡単だと思ったけど、やってみたら、はまった。



さくらインターネット その7 - RUBYLIB

ここを参考にさくっと行くと思った。

でも、実際やって見ると、この方法じゃLOAD_PATH(ライブラリを探す際に探索するパス)にはいらなかった。



だから、むりやり、


$LOAD_PATH.unshift “/home/xxxxxxx/lib/ruby/site_ruby/1.8″
$LOAD_PATH.unshift “/home/xxxxxxx/lib/ruby”



こんなことした。

$LOAD_PATH.push でなくて、unshiftなのは、このパスを先に読ませたいから。$LOAD_PATHにはデフォルトのパスが入ってるんだけど、その前に、このパスを設定しておきたかったので。

とりあえず、これで、ライブラリは参照できるようになった。



あと、ぼくは、rubygemsのライブラリも使ってる。

で、GEM_HOMEとかいう環境変数も設定しなきゃいけないみたいなので

ENVを利用して


ENV['GEM_HOME'] = “/home/xxxxxx/lib/ruby/gem”



と、設定した。



うまくいった。

終了。



あ、もちろん、これらの設定の前に、htaccessに



AddHandler cgi-script .rb



この追記と、rbファイルの先頭には


#!/usr/local/bin/ruby




または



#i/usr/bin/env ruby




ね。

どっちでもいいけど、下はLOAD_PATHを頼りに勝手にRuby本体を探しちゃうから、上の方がいいかも。

あ、あと、ロードパスを表示させたい場合は



puts $:




な、感じで。確認できる

あと、FTPで転送するときは、ASCIIモードでね。改行文字とか入るとだめだよん。

じゃー



最後にまとめてメモ


#!/usr/local/bin/ruby
$LOAD_PATH.unshift "/home/xxxxxxx/lib/ruby/site_ruby/1.8"
$LOAD_PATH.unshift "/home/xxxxxxx/lib/ruby"
ENV['GEM_HOME'] = "/home/xxxxxxx/lib/ruby/gem"
print "Content-type: text/html\n\n"
ここから下は本体のコードね




[禁煙4日目]

吸いたいのは変わらないな。やはりニコ中か。とりあえず、前回の禁煙記録1ヶ月は塗り替えたいところ。

で、あわよくばずっとやめたいんだが。。いかに。



コメントをどうぞ