On Wed, Nov 21, 2012 at 8:33 AM, Erwin <yves_duf...@mac.com> wrote: > I wrote this scope in my Subdomain model : > > scope :in_account, lambda { |account_id| > if account_id == "*" > where("account_id >= ?", 0) > else > where(account_id: account_id) > end > } > > where account_id == '*' then all subdomain instances are selected > when account_id is given , only subdomain instances in this account are > selected > > is there a better writing ?
Try: scope :in_account, lambda { |account_id| where(account_id: account_id) if account_id != "*" } If the conditional fails, this will just not interfere with the query. If it's possible that account_id will be nil or blank (as on a page accessed w/o passing any params), tack "&& account_id.present?" onto the conditional. -Dave -- Dave Aronson, the T. Rex of Codosaurus LLC, secret-cleared freelance software developer taking contracts in or near NoVa or remote. See information at http://www.Codosaur.us/. -- You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group. To post to this group, send email to rubyonrails-talk@googlegroups.com. To unsubscribe from this group, send email to rubyonrails-talk+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out.