Hi all
I have a situation like this:
  class Country
    has_many :policy_indicator_ratings
    has_many :policy_indicators, :through => :policy_indicator_ratings
  class PolicyIndicatorRating
    belongs_to :country
    belongs_to :policy_indicator
  class PolicyIndicator
    has_many :policy_indicator_ratings
    named_scope :water, :conditions => ["sector = ?",
''water'']
    named_scope :sanitation, :conditions => ["sector =
?",''sanitation'']
Now, i want to say something like
  @country.policy_indicators.water.each do |indicator|
    #do something with this country''s rating for this indicator
  end
It feels like i''m now forced to do something like this inside the loop:
  rating
PolicyIndicatorRating.find_by_country_id_and_policy_indicator_id(@country.id,
indicator.id)
This seems clumsy - i''ve gone through the join model to get the
indicator, and now i have to manually pull the join record out again.
Is there a way to set up the named scope on the join model, something
like this?
  #this won''t work but gets the idea across
  named_scope :water, :conditions => (self.policy_indicator.sector
="water")
??
Or, is there a nicer way to organise my schema to seperate out water
indicators from sanitation indicators?
Grateful for any advice.
thanks
max
-- 
Posted via http://www.ruby-forum.com/.
--~--~---------~--~----~------------~-------~--~----~
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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en
-~----------~----~----~----~------~----~------~--~---