[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[kagemai-users:0602] Re: ruby1.8.5で動作せず
須藤です.
In <20061031210842.d0c9ffbf.yasuo@xxxxxxxx>
"[kagemai-users:0601] Re: ruby1.8.5で動作せず" on Tue, 31 Oct 2006 21:08:42 +0900,
Eto Yasuo <yasuo@xxxxxxxx> wrote:
> > 手元のDebian sidでは動きました.
>
> あれ、、、私の端末が怪しいのですかね。。。
私はCGIで動かしましたが,mod_rubyとかですか?
あ,CVSのstable-0_8を使いました.
> > ねぇ.出力が変なところに流れているのかしら.でもどこに?
> >
> > とりあえず,lib/kagemai/util.rbのUtil.erb_eval_fileの
> >
> > def Util.erb_eval_file(filename, binding = TOPLEVEL_BINDING)
> > src = open(filename, 'rb') {|file| ERB.new(file.read.gsub(/\r\n/, "\n")).src}
> > eval(src.untaint, binding, filename)
> > end
> >
> > を
> >
> > def Util.erb_eval_file(filename, binding = TOPLEVEL_BINDING)
> > src = open(filename, 'rb') {|file| ERB.new(file.read.gsub(/\r\n/, "\n")).src}
> > STDERR.puts(src.inspect)
> > eval(src.untaint, binding, filename)
> > end
> >
> > とかにして該当するコンパイル済みのERBがどうなっているか見せ
> > てもらえますか?
> >
>
> ログが吐かれましたので、添付いたします。
> kagemai.log としてみました。
>
あぁ,おかしいですね.ERBがprintしちゃっています.
なんでだろう.どこかに古いERBが転がっていたりしませんか?
でも,ERBって影舞についてきますね.うーん.
やっつけでよければこれで動くと思います.
def Util.erb_eval_file(filename, binding = TOPLEVEL_BINDING)
src = open(filename, 'rb') {|file| ERB.new(file.read.gsub(/\r\n/, "\n")).src}
src = src.gsub(/print(/, "_erbout << (")
eval(src.untaint, binding, filename)
end