2008年1月31日 06:53
- | Retweet
-
解消法: open_id_authenticationプラグイン(rails 2.0.2)
rails2.0.2とgem1.0.1では、古いopen_id_authenticationプラグインが動きません。ruby-openidのバージョンの問題です。
- 偉い人が作ってくれたパッチをダウンロードする。
http://dev.rubyonrails.org/ticket/10604
hogehoge.diffとでもしておく。 - #{RAILS_ROOT}/vendor/plugins/open_id_authentication/ にパッチを置く。
- % patch -p0 < hogehoge.diff
- 7,8個のファイルにパッチがあたったら正常。
また、すでに古いopen_id_authenticationでopenid関係のテーブルをmigrateしちゃった人はもうひとつ作業として、古い形式のopenid関係のテーブルを削除して、新しい形式で作り直す作業が必要です。
- ./script/generate migarion drop_openid_table って感じで、migrationを作る
- 中身を編集する。 self.upには以下のように書く。 self.downは空でもいい。(旧migrationのself.upに対応する内容を書けばbetter)。
drop_table "open_id_authentication_associations"
drop_table "open_id_authentication_nonces"
drop_table "open_id_authentication_settings" - rake db:migrate して、dropされたことを確認する
- 次に rake open_id_authentication:db:create して、新しいバージョンのopenid関係のテーブルを生成する
- 4.は以前に作ったファイル名と競合する可能性があるので注意。そしたらファイル名をいじくってなんとかする。
- rake db:migrate で新しいテーブルを生成して、完了
面倒ですな。