[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[kagemai-users:0590] ruby1.8.5で動作せず



えとーです。
無駄に長いです。

Debian GNU/Linux
ruby 1.8.5
apache 2.2.2

のような環境で試していますが、機能しませんでした。

ここで直しました! と、報告できれば格好よかったのですが、
ちゃんと直せませんでしたので報告。。。

String.internあたりに変更があったようです。
その影響でmessage_bundle.rb にて、メッセージ名をシンボル化している所で
問題が発生しています。

で、

$ diff message_bundle.rb.orig message_bundle.rb
69c69
<         @messages[key.intern] = message
---
>         @messages[key] = message

のように変更してから、MessageBundle をつかっていて、メッセージファイルを
openしているものなどを除いたものを変更してみました。
変更はシンボルでキー検索をしている部分をStringでそのまま行なうという安直なもの。

しかし、
[ホーム|プロジェクト一覧|全体検索] [トップ|新規レポート|検索|統計|RSS] [ログアウト|管理]
のようにでるはずの場所が、
[][]
のように表示されフッタ部分なども含めて全てのリンクとなっている部分が
出力されませんでした。

htmlhelper.rb で Stringクラスの拡張を行なっている部分とかと絡んでいるのかな?
と思ったのですが、ギブアップしました。。。

どうすれば ruby 1.8.5 などでも正常に表示できるようになるのでしょうか?

変更したファイル(余計なものも含まれています。)
$ egrep -r "( MessageBundle|-v open)" -l kagemai-0.8.6/*  
kagemai-0.8.6/bin/convert.rb
kagemai-0.8.6/bin/mailif.rb
kagemai-0.8.6/bin/migrate.rb
kagemai-0.8.6/lib/kagemai/cgi/htmlhelper.rb
kagemai-0.8.6/lib/kagemai/cgi/action/split_report.rb
kagemai-0.8.6/lib/kagemai/cgi/action/cross_search.rb
kagemai-0.8.6/lib/kagemai/cgi/action/projects.rb
kagemai-0.8.6/lib/kagemai/cgi/action/summary.rb
kagemai-0.8.6/lib/kagemai/cgi/action/add_message.rb
kagemai-0.8.6/lib/kagemai/cgi/action/admin.rb
kagemai-0.8.6/lib/kagemai/cgi/action/top.rb
kagemai-0.8.6/lib/kagemai/cgi/action/search.rb
kagemai-0.8.6/lib/kagemai/cgi/action/new_form.rb
kagemai-0.8.6/lib/kagemai/cgi/action/config_field.rb
kagemai-0.8.6/lib/kagemai/mssqlstore.rb
kagemai-0.8.6/lib/kagemai/filestore.rb
kagemai-0.8.6/lib/kagemai/kagemai.rb
kagemai-0.8.6/lib/kagemai/pstore.rb
kagemai-0.8.6/lib/kagemai/searchcond.rb
kagemai-0.8.6/lib/kagemai/message_bundle.rb
kagemai-0.8.6/lib/kagemai/pgstore.rb
kagemai-0.8.6/lib/kagemai/mode.rb
kagemai-0.8.6/lib/kagemai/project.rb
kagemai-0.8.6/lib/kagemai/mysqlstore.rb
kagemai-0.8.6/lib/kagemai/dbistore.rb
kagemai-0.8.6/lib/kagemai/elementtype.rb
kagemai-0.8.6/lib/kagemai/xmlstore.rb
kagemai-0.8.6/resource/ja/template/_default/create_project.rhtml
kagemai-0.8.6/resource/ja/template/_default/message_form.rhtml
kagemai-0.8.6/resource/ja/template/_default/navi.rhtml
kagemai-0.8.6/resource/ja/template/_default/new_form.rhtml
kagemai-0.8.6/resource/ja/template/_default/config_project.rhtml
kagemai-0.8.6/resource/ja/template/_default/config_field_form.rhtml
kagemai-0.8.6/resource/en/template/_default/create_project.rhtml
kagemai-0.8.6/resource/en/template/_default/message_form.rhtml
kagemai-0.8.6/resource/en/template/_default/navi.rhtml
kagemai-0.8.6/resource/en/template/_default/new_form.rhtml
kagemai-0.8.6/resource/en/template/_default/config_project.rhtml
kagemai-0.8.6/resource/en/template/_default/config_field_form.rhtml

変更例:
$ diff htmlhelper.rb.orig htmlhelper.rb
143c143
<       case_opt += MessageBundle[:search_cond_case_insensitive]
---
>       case_opt += MessageBundle['search_cond_case_insensitive']
180c180
<       MessageBundle[self.to_s.intern]
---
>       MessageBundle[self.to_s]
184c184
<       MessageBundle[(self.to_s + '_desc').intern]
---
>       MessageBundle[(self.to_s + '_desc')]
352c352
<           MessageBundle[:search_select_any] 
---
>           MessageBundle['search_select_any'] 
391c391
<       values.empty? ? MessageBundle[:no_values] : values.join(', ').escape_h
---
>       values.empty? ? MessageBundle['no_values'] : values.join(', ').escape_h
544,545c544,545
<         if MessageBundle.has_key?("mime_type_#{mtype}".intern) then
<           name = MessageBundle["mime_type_#{mtype}".intern]
---
>         if MessageBundle.has_key?("mime_type_#{mtype}") then
>           name = MessageBundle["mime_type_#{mtype}"]
555c555
<       max_str = max_size > 0 ?  MessageBundle[:m_max_size] % max_size : ''
---
>       max_str = max_size > 0 ?  MessageBundle['m_max_size'] % max_size : ''