ActiveRecordを詳しく「優しいRailsの育て方」 より。 もっとシンプルにできるけど。 つい機能追加やら汎用化やらをしてしまう。 Rails 2.1.0 で動作確認。 コメントいただいたので scoped_access_filter.rb を修正しました。 使い方 基本。 class MailController < ApplicationController scoped_access Mail, :mine def mine unless user.admin? { :find => {:conditions => ["owner = ?", user]}, :create => {:owner => user } } end end def show @mail = Mail.find(params[:id]) end end 複数のモデルを対象とする。 scoped_a