プロジェクト

全般

プロフィール

Defect #110

完了

Glocライブラリを明示的に使っている

Toshiyuki Ando さんがほぼ15年前に追加. ほぼ15年前に更新.

ステータス:
終了(Closed)
優先度:
通常(Normal)
担当者:
対象バージョン:
開始日:
2009/07/01
期日:
2009/07/01
進捗率:

100%

予定工数:
0:15時間

説明

やったこと

  1. 0.1.4 を導入
  2. エラーが発生。
A NameError occurred in application#index:

  uninitialized constant HudsonHttpException::GLoc
  C:/Program Files/Ruby/lib/ruby/gems/1.8/gems/activesupport-2.2.2/lib/active_support/dependencies.rb

理由

HudsonHttpException は例外を説明するメッセージを
言語ファイルから引っ張りだしています。
Redmine0.8.4では、多言語の対応に GLoc ライブラリを使っていますが、
Redmine-Trunk では Rails 自前のライブラリになっています。(確か)

ActiveRecord を継承する場合は、ActiveRecord の方で
GLoc を include してくれているので多言語対応のために何もしなくてよいのですが、
HudsonHttpException は ActiveRecord を継承しないクラスだったので、
自前で GLoc を include していたという訳です。

対処

GLoc ライブラリを使わないようにします。
ActiveRecord などを継承しないクラスが、GLoc の include なしで

l(:hogehoge)

を使うことはできないので、 必ず利用する HudsonSettings クラスに
HudsonHttpException クラスを移動しようと思います。

include ApplicationHelper

で対応します。

Toshiyuki Ando さんがほぼ15年前に更新

  • ステータス新規(New) から 担当(Assigned) に変更
  • 予定工数0:15時間 にセット

今やってみたら、

include ApplicationHelper

で回避できそうなので、そちらで。
使わない Helper を include するのはどうかと思うのだけど、こちらにします。(Trunkでも動いたし)
本来は、Error クラスを使うのがいいのかなぁ。

Toshiyuki Ando さんがほぼ15年前に更新

  • ステータス担当(Assigned) から 解決(Resolved) に変更
  • 進捗率0 から 100 に変更

Applied in changeset r188.

Toshiyuki Ando さんがほぼ15年前に更新

  • ステータス解決(Resolved) から 終了(Closed) に変更

他の形式にエクスポート: Atom PDF