2009年8月12日水曜日

Railsの GetText 2.0でサーバが起動しないエラーの対応メモ

レアなケースだろうけど一応メモ。


(参考:RailsでGetText)
Rails のためのものぐさな Web アプリケーションの国際化手法 - 川o・-・)<2nd lifeが参考になる。
ただしGetText 2.0からはenvironment.rbで読み込むgemが変わったので注意。

config.gem "locale_rails"
config.gem "gettext_activerecord"
config.gem "gettext_rails"



ActiveRecordもActionMailerも使わないので、config/environment.rbで不使用にしていた。
config.frameworks -= [ :active_record, :action_mailer ]

gettext(2.0)を使うために、下記をgemでインストール。
locale
locale_rails
gettext
gettext_rails
ActiveRecordは使わないのでgettext_activerecordは入れなかった。

アプリケーションにgettextを使う設定を入れて、mongrelを起動しようとしたがエラーになって起動できない。
ruby server/script

.../lib/active_support/core_ext/module/aliasing.rb:33:in `alias_method': undefined method `create!' for class `ActionMailer::Base' (NameError)

ActionMailer?使ってないけど?
しょうがないから不使用指定を外す。
config.frameworks -= [ :active_record, :action_mailer ]

config.frameworks -= [ :active_record ]

これでも駄目。
試しにgettext_activerecordをインストール。
これで起動したら起動できた。

もう1つ試しにgettext_activerecordのrequireをコメントアウトしたら起動しなかった。


結論:RailsでGetTextを使う場合、不要でもActionMailerを外しては駄目。かつ、不使用でもgettext_activerecordが必要。

0 件のコメント:

ブログ アーカイブ

tags