Railsのi18n_generatorsのために苦戦
世間は大晦日でしたが今日は一日中i18nに苦戦。。。
そもそも日本語化のためにgettextを入れようとしてたんですが、rails2.2では入れるのは難しく、代わりにi18nで日本語化ができるということに気づくまでに3時間ほどかかった。
そしてここを参考にi18n_scaffoldできた!と思ったら一部おかしい。
さらに調べると同じ症状ではまっている人を発見。
そしてrubyを1.8.7にしたわけですが、またエラー。
$ ruby script/generate i18n_scaffold note title:string body:text
でscaffoldした後にサーバーを起動してhttp://localhost:3000/notesにアクセスすると、以下のログがでてサーバーが止まってしまう。。。
/Users/mikamishunsuke/.gem/ruby/1.8/gems/sqlite3-ruby-1.2.4/lib/sqlite3_api.bundle: [BUG] Bus Error ruby 1.8.7 (2008-08-11 patchlevel 72) [i686-darwin9.5.1] Abort trap
どうももともとデフォルトで入ってたruby(つまり/usr/binに入ってるやつ)を使っていたんですが、今回アップデートしてパスが変わったせいみたいです。
$ which ruby /usr/local/bin/ruby $ which gem /usr/local/bin/gem $ which rails /usr/local/bin/rails $ which sqlite3 /usr/bin/sqlite3
それで
gem install sqlite3-ruby -- --with-sqlite3-include-dir=/usr/local/sqlite3/include --with-sqlite3-lib-dir=/usr/local/sqlite3/lib
をやってみたらなんとかできるようになりました。
しかしvalidatesのエラーメッセージが表示されないエラーの原因は別の所にあったみたいで。。。
別にruby1.8.6でもいけたのかも。
疲れた。。。