KnowledgeHub
Questions
Tags
Users
Search
Alex Rivera
|
Logout
Edit Question
Title
Body
Following Problem: I need something like an empty scope. Which means that this scope is emtpy, but responds to all methods a scope usually responds to. I'm currently using a little dirty hack. I simply supply "1=0" as conditions. I find this realy ugly, since it hits the database. Simply returning an empty array won't work, since the result must respond to the scoped methods. Is there a better existing solution for this or will I need to code this myself? Maybe some example code could help explain what i need: class User < ActiveRecord::Base named_scope :admins, :conditions => {:admin => true } named_scope :none_dirty, :conditions => "1=0" # this scope is always empty def none_broken [] end def self.sum_score # okay, a bit simple, but a method like this should work! total = 0 self.all.each do |user| total += user.score end return total end end User.admin.sum_score # the score i want to know User.none_drity.sum_score # works, but hits the db User.none_broken.sum_score # ...error, since it doesn't respond to sum_score
Tags (comma-separated)
Save Edits
Cancel