Gabriele Tassoni
2009-Mar-04 11:26 UTC
Which are the right :joins for two models in which one has two belongs_to the other same model?
Hi all,
here is the main picture (obviously some snips are made):
class JobFile < ActiveRecord::Base
belongs_to :car
belongs_to :counterpart_insurance, :class_name =>
''Insurance'', :foreign_key =>
''counterpart_insurance_id''
belongs_to :customer_insurance, :class_name =>
''Insurance'', :foreign_key =>
''customer_insurance_id''
end
class Insurance < ActiveRecord::Base
has_many :accident_counterparts, :class_name =>
''JobFile'', :foreign_key =>
''customer_insurance_id"
has_many :accident_customers, :class_name => ''JobFile'',
:foreign_key
=> ''counterpart_insurance_id''
end
class Customer < ActiveRecord::Base
has_many :cars, :dependent => :destroy
end
class Car < ActiveRecord::Base
belongs_to :customer
has_many :job_files, :dependent => :destroy
end
Now, I would like to have all the customers that have a job_file that
deals with an insurance, I''m a bit stuck at writing down the joins
clause for the named scope:
named_scope :insurances_in, lambda { |array| {
:joins => [{:cars => {:job_files => :counterpart_insurance}},
{:cars => {:job_files => :counterpart_insurance}}],
:conditions => "insurances.name LIKE
''%#{array.join("%")}%''",
:group => "customers.id" }
}
Is this right?
Thanks for the help
G.
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---