[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の方に話を持っていった方がいいんでしょうかね?


川藤