エラーのトレースに表示されていた、
/usr/local/profiling/lib/ruby/
の部分をデバッガでチェック。
parent.send :remove_const, names.last
という処理でこけている。
このとき parent = Object, names.last = VERBOTEN_TAGS だったので、
Object.send :remove_const, VERBOTEN_TAGS
でこけていると。
VERBOTEN_TAGS という変数をクリアしようとしてこけているらしいので、
rubyのライブラリの中を VERBOTEN_TAGS で全検索。
find ./ -type f -name "*.rb" | xargs grep VERBOTEN_TAGS
結果ヒットしたのは
./gems/1.8/gems/actionpack-1.
で、中でこういうこと↓をしている。
んじゃアプリの中でこれを使っているクラスがあるかと検索すると、ありました1クラス。
しかもclass宣言の前にincludeしている。
include ActionView::Helpers::
include ActionView::Helpers::TagHelper
class ContentSlot < ActiveRecord::Base
・・・
end
これだとグローバルな扱いになるので他に影響をあたえるっぽい。
ということで、includeをclass宣言の中に移動。
include ActionView::Helpers::
include ActionView::Helpers::TagHelper
end
これで動かしたところ、成功!
いやぁ~、長かった。3日ぐらいかかった気がする。
で、わかってみれば、そういえばあのTracに同じこと書いてあったな、と。。。
http://dev.rubyonrails.org/
ちょっと読んで自分のケースとは違う気がした&英語だったので途中であきらめたので
ちゃんと読んでいなかったんだけど、全く同じ対処が書いてあった。。。
ちゃんと読めてりゃ1日早く解決したかも。。。
まぁなんにしても解決すりゃよしということで。
0 件のコメント:
コメントを投稿