Revision: 2365
Updated Code
at February 4, 2007 15:12 by gnatware
Updated Code
# assumes an associated Item class with a base_amount attribute # usage: # in = @asset.incoming_items class Asset < ActiveRecord::Base has_many :items, :dependent => :destroy_all has_many :incoming_items, :class_name => 'Item', :conditions => "base_amount > 0" has_many :outgoing_items, :class_name => 'Item', :conditions => "base_amount < 0" end # alternative using with_scope for adding more conditions # usage: # in = @asset.incoming(:all, :order => 'created_at desc', :limit => 15) class Asset < ActiveRecord::Base has_many :items, :dependent => :destroy_all do def incoming(*args) args = [:all] if args.empty? with_scope(:find => { :conditions => 'base_amount > 0'}) { find(*args) } end def outgoing(*args) args = [:all] if args.empty? with_scope(:find => { :conditions => 'base_amount < 0'}) { find(*args) } end end end
Revision: 2364
Initial Code
Initial URL
Initial Description
Initial Title
Initial Tags
Initial Language
at February 4, 2007 15:07 by gnatware
Initial Code
# assumes an associated Item class with a base_amount attribute class Asset < ActiveRecord::Base has_many :items, :dependent => :destroy_all has_many :incoming_items, :class_name => 'Item', :conditions => "base_amount > 0" has_many :outgoing_items, :class_name => 'Item', :conditions => "base_amount < 0" end
Initial URL
http://www.therailsway.com/2007/1/8/assetsgraphed-part-1
Initial Description
Define multiple associations on the same associated class. From the Rails Way blog.
Initial Title
Conditional associations
Initial Tags
rails
Initial Language
Ruby