現在、Rails アプリを 2.x から 3.1 にアップグレードしています。
誰かがこれをリファクタリングして proxy_option コードを削除するのを手伝ってくれるかどうか疑問に思っています (レール 3 では使用できなくなりました):
scope = Product.scoped({})
scope = scope.scoped( Product.allowed(options[:current_user]).proxy_options )
scope = scope.scoped( Product.for_country(options[:country_ids]).proxy_options ) if options[:country_ids]
スコープ メソッドの 1 つの例は次のとおりです。
def allowed(user)
where(:id => user.access_to(self.name))
end