railsでOpenID認証 (2)

openid_generatorは,ログイン用のジェネレータとしては草分け的存在のlogin_generatorに仕様があわせられています。なのでlogin_generatorのやり方がそのまま使えます。
ユーザ毎に管理したいモデル(例えばitemとします)とuserモデルとの間では,以下の関係が成り立ちます。

item *--->1 user

これに合わせてDBに列を追加します。itemsテーブルにuser_id列を追加して,usersテーブルのidを外部参照させます。
次にモデル間の関係を記述します。
item.rbでは以下のように。

class Item < ActiveRecord::Base
	belongs_to :user
end

user.rbは↓こんな感じ。

class User < ActiveRecord::Base
	has_many :items
end

今までコントローラの中で,こんな感じにモデルにアクセスしていたと思います。

Item.find(params[:id])

これを特定のuser_idに制限します。

Item.find(params[:id], :conditions => ["user_id=?", @session[:user_id]])

このようにログインしたユーザのidは@session[:user_id]に格納されています。ユーザオブジェクトをとりたいときは

User.find(@session[:user_id])

ですね。