Shouldn't the line in Prices be belongs_to :stockmaster, :foreign_key => 'stockid' since ActiveRecord will be looking for 'stockmaster_id'?
I'm not sure I'm on the right track there, but in your first example you were explicitly looking for stockid in the find. Cheers. On Jul 7, 6:23 am, Craig White <[email protected]> wrote: > 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 -~----------~----~----~----~------~----~------~--~---

