[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[debian-users:48281] Re: eRubyが動かない (sarge --> etch)
川藤です。
On Thu, Mar 22, 2007 at 12:56:45 +0900
I <kawafuji@xxxxxxxxxxxxxxxxxxxxx> wrote:
|
|On Tue, Mar 20, 2007 at 22:29:49 +0900
|you Kenshi Muto <kmuto@xxxxxxxx> wrote:
| |武藤@Debianぷろじぇくとです。
| |<% puts 1+2 %>のような簡単なrhtmlに対して
| |試してみたところ、eRubyによる処理は行われるものの、
| |Content-Type: application/x-httpd-eruby で返ってくるので
| |ブラウザがバイナリ扱いで保存しようとしますね。
| |/usr/lib/ruby/1.8/apache/eruby-run.rbの末尾のほうに
| |
| | unless r.content_type
| | r.content_type = format("text/html; charset=%s", ERuby.charset)
| | end
| |
| |というところがあるのですが、このときにr.content_typeには
| |「application/x-httpd-eruby」がすでに入ってしまっているため、
| |text/htmlへの書き換えが行われることなくContent-Typeの出力が
| |されてしまっているようです。
| |このunless行とend行をコメント化してApache2をreloadすると、
| |text/html形式でブラウザで正常に表示されます。
| |このあたりはmod-ruby側では何も変えてないようなので、RubyかApacheの
| |変更が何か影響しているのだろうとは思います。
|
| ということは、Debian以外の環境でも同じ現象が生じているのでしょう
|か……。
FreeBSD 6.2-RELEASEでも同じでした。参考までに、関連パッケージの
バージョンは以下の通りです。
% pkg_info | grep ruby
eruby-1.0.5 Interprets Ruby code embedded in a text file like PHP/ePerl
mod_ruby-1.2.6 An Apache module that embeds Ruby interpreter within
ruby+oniguruma-1.8.5.12,1 An object-oriented interpreted scripting language
% uname -sr
FreeBSD 6.2-RELEASE
Rubyの方に話を持っていった方がいいんでしょうかね?
川藤