Report abuse


			
class Buyer < ActiveRecord::Base
  has_many :carts do
    def find_alternate(permalink)
      find :first, :conditions => ['permalink = ?', permalink] ...
    end
  end
end

class Cart < ActiveRecord::Base
  def self.find_with_variation(permalink)
    find :first, :conditions => ['permalink = ?', permalink] ...
  end
end

buyer test


			
Cart.should_receive(:find).with(:first, :conditions => "carts.buyer_id= 4 AND (permalink=2)")

# passes
@buyer.carts.find_alternate(2)

# fails
@buyer.carts.find_with_variation(2)