On Mon, 2009-07-06 at 11:16 -0700, Craig White wrote:
> I am dealing with a legacy db which is limiting my options here.
> 
> I have...
> 
> class Stockmaster < ActiveRecord::Base
>   set_table_name "stockmaster"
>   set_primary_key "stockid"
> 
>   has_many    :prices
> 
>   def wholesale_price(stockid)
>     Price.find(:first, :conditions => ["stockid = ? AND typeabbrev = ?",
> stockid, "WH"])
>   end
> 
>   def retail_price(stockid)
>     Price.find(:first, :conditions => ["stockid = ? AND typeabbrev = ?",
> stockid, "RE"])
>   end
> end
> 
> and
> 
> class Price < ActiveRecord::Base
>   set_table_name "prices"
>   set_primary_key "stockid"
> 
>   belongs_to  :stockmaster
> end
> 
> and my issue is that I have both a 'WH' and 'RE' typeabbrev for each
> stockid and I need to make this simpler for a database lookup to print a
> prices sheet.
> 
> It makes sense to do eager loading of associations here but I cannot
> figure out how to change the model for this eager loading since for each
> stockid, there are two values (WH/wholesale and RE/retail).
> 
> Can anyone toss me a bone here?
----
still trying but can't seem to find a way for this to work (in
Stockmaster class), 

  has_one       :wh_price, :through => 'prices', :conditions => ["typeabbrev
= ?", "WH"], :source => 'prices'
  has_one       :re_price, :through => 'prices', :conditions => ["typeabbrev
= ?", "RE"], :source => 'prices'

but when I restart console and check, 

>> @stkitems[0].wh_price
ActiveRecord::HasManyThroughAssociationNotFoundError: Could not find the
association "prices" in model Stockmaster

from 
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/reflection.rb:285:in
 `check_validity!'        from 
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations/has_many_through_association.rb:5:in
 `initialize'        from 
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations.rb:1230:in
 `new'        from 
/usr/lib/ruby/gems/1.8/gems/activerecord-2.3.2/lib/active_record/associations.rb:1230:in
 `wh_price'
        from (irb):6
        from :0
>>

Craig


-- 
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.


--~--~---------~--~----~------------~-------~--~----~
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 [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to